Hilfe bei eindimensionalen Feldern

cwriter

Erfahrenes Mitglied
Ach so, das stimmt natürlich. Meinst du so?
Ja.

Hmm, aber selbst wenn ich anzahln=i entferne, passiert das gleiche.
Du meinst, du kannst nur eine Zahl eingeben?

C++:
#include <iostream>
#include <cmath>

using namespace std;

void main(void)

{

    int anzahln;
    int i = 0;
    double nx[1000], ny[1000];

    cout << "Bitte geben sie die Anzahl der x und y Werte ein: " << endl;

    do
    {
        cin >> anzahln;
       
    }while (!(anzahln >= 2 && anzahln <= 1000));

    cout << "anzahln ist " << anzahln << endl; //Was gibt diese Zeile aus?

        for (i = 0; i < anzahln; i++);
        {
            cout << "Geben sie die x Werte ein: " << endl;
            cin >> nx[i];
            cout << "Sie die y Werte ein; " << endl;
            cin >> ny[i];
        }

   
}

Was _genau_ ist Eingabe / Ausgabe?

Gruss
cwriter
 

Thaelisin

Mitglied
Ah gut das ist natürlich praktischer.
Ich kann einmal die Anzahl eingeben, da nehme ich die 5. Bei der neuen Ausgabe gibt er auch 5 aus.
Wenn ich jetzt die x und y Werte eingebe kann ich jeweils nur einmal einen Wert eingeben.

Was genau meinst du mit deiner Frage?
 

Thaelisin

Mitglied
So sieht es bei mir aus:

beispiel.png
 

sheel

I love Asm
Ihr beide habt ein ; übersehen

Code:
for (i = 0; i < anzahln; i++);
{
    irgendwas
}

Nach dem Schleifenanfang (zB. hier das for, oder bei do-while das do) gehört kein ;
Das würde bedeuten "hier ist die Schleife wieder aus" (und das {} danach ist nur zum Spaß eingeklammert, bzw. es hat zumindest mit der Schleife nichts zu tun)

Mit anderen Worten, obiger Code bedeutet
Code:
for (i = 0; i < anzahln; i++)
{
}

{
    irgendwas
}
und dieses "irgendwas" wird damit nur einmal ausgeführt
 

cwriter

Erfahrenes Mitglied
Ach Mensch, der Klassiker. So langsam sollte ich den schneller finden:
for (i = 0; i < anzahln; i++);
Semikolon macht alles kaputt. Ändern in
"for (i = 0; i < anzahln; i++)" und gut ist...

Gruss
cwriter

/EDIT: Hm. Warum zeigt es mir das nicht an, wenn schon ein neuer Post existiert?
Oh. Noscript. Hehe.
@sheel: Irgendwann bin ich mal schneller...
 

Thaelisin

Mitglied
Ja das war´s! Vielen Dank!
Jetzt muss ich nur noch irgendwie die Formeln so schreiben das sie funktionieren und das dafür die eingegebenen Werte verwendet werden.
 

sheel

I love Asm
Da diese Werte relativ oft gebraucht werden, würde ich zuerst einmal folgende Werte (unabhängig voneinander) ausrechnen und in eigenen double-Variablen speichern:
  • Die Summe aller nx (ein double summe = 0, und dann einfach in einer for-Schleife alle nx durchgehen und dazuaddieren)
  • Die Summe aller ny
  • Die Summe aller nx*nx (also in der Schleife nicht "summe += nx[i];" sondern "summe += nx[i]*nx[i];"
  • Die Summe aller nx*ny
Mit den Werten kann man dann ziemlich einfach ausrechnen:
  • Den Zähler von A (also den oberen Bruchteil)
  • Den Nenner von A (also den unteren Bruchteil)
  • Den Zähler von B
  • Den Nenner von B

Bevor weitergemacht wird mit einem if noch prüfen, ob die beiden Nenner wohl nicht 0 sind (laut Aufgabe, weil durch 0 dividieren nicht so toll ist).

Dann nur noch zwei Divisionen und eine passende Ausgabe...

Irgendwann bin ich mal schneller...
Warst du in dem Thread ja schon :)

Bez: Noscript: Afaik sollte von der Domain tutorials.de keine Werbung, kein Tracking usw.usw. kommen ... solange Analytics, Netzathleten usw. blockiert bleibt müsstest du dir keine Sorgen machen. (XF funktioniert zwar auch ohne JS halbwegs gut, aber trotzdem würde mich das nerven...)
 
Zuletzt bearbeitet:

Thaelisin

Mitglied
Vielen Dank für die Hilfe, ich muss heute leider arbeiten und komme erst morgen dazu die Aufgabe fortzusetzen. Ich schreibe morgen wieder.
 

Thaelisin

Mitglied
Hallo Leute,

ich habe mich jetzt wieder an der Aufgabe versucht. Allerdings verstehe ich nicht wie ich aus den Formeln einen funktionierenden Code mache und als zweites Verstehe ich nicht wie, wenn ich den mal die Formel hin bekomme, die verschiedenen Werte benutzt werden. Geschrieben wurde ja schon das ich es mit einer For-Schleife mache aber wie muss die aussehen das immer x1,y1 dann x2, y2 usw. genommen wird?

Ach so, vorangegangene Aufgaben, die die Arithmetik behandelten habe ich schon gelöst. Allerdings waren diese wesentlich leichter in Code umzusetzen als die Jetzigen.

ich bedanke mich schon mal im voraus.