Daiana Geschrieben 9. Februar 2004 Geschrieben 9. Februar 2004 Hallo ihr Lieben, nachdem ich beim letzten Mal gedacht hatte, ich hätte es endlich kapiert, stehe ich bei mehrdimensionalen Feldern wieder vor einem ähnlichen Problem, wie bei meinem entzückenden Array. Ich wollte den Ratschlag vom letzten Mal befolgen und habe versucht, bevor ich irgendwas weiteres gemacht habe, meine Felder mit 0 zu initialisieren. Als ich dann testweise den Wert von einiegen Feldern ausgeben wollte, kamen völlig kryptische Zahlen heraus, die mit 0 überhaupt gar nichts mehr zu tun haben, ausser der Tatsache, dass es eben Zahlen sind Hier mein Versuch: #include <iostream.h> #include <stdlib.h> int main(void) { int feld [4][17], x=0, y=0; //Initialisierung des Feldes mit 0: for (x==0; x==3; ++x) { for (y==0; y==16; ++y) { feld[x][y]=0; } y=0; } cout <<"Feld 1"<<feld[0][0]<<"ende"<<endl; cout <<"Feld 2"<<feld[2][6]<<"ende"<<endl; cout <<"Feld 3"<<feld[3][15]<<"ende"<<endl; system("PAUSE"); return 0; } Ich finde einfach keinen Fehler. Eigentlich müsste er doch die Schleife durchlaufen und jedem Feld den Wert 0 zuweisen, oder???:confused: Wäre euch superdankbar, wenn ihr mir mal wieder auf die Sprünge helfen würdet. Danke für eure Geduld im Vorraus, Dai
Nokinger Geschrieben 9. Februar 2004 Geschrieben 9. Februar 2004 Hi mach mal: for (x=0;x==3;x++) { } for (y=0;y==16;y++) {} Nok
Daiana Geschrieben 9. Februar 2004 Autor Geschrieben 9. Februar 2004 Bringt auch nichts. Habs mal versucht und er wirft mir die gleichen komischen Zahlen aus. Aber danke.
Klotzkopp Geschrieben 9. Februar 2004 Geschrieben 9. Februar 2004 Die Schleife wird ausgeführt, solange (nicht bis) die Bedingung wahr ist: for (x=0;x<=3;++x) for (y=0;y<=16;++y) [/CODE] @Nokinger: Wenn es egal ist, ob man Prä- oder Postinkrement verwendet, sollte man sich Präinkrement angwöhnen.
MeisterB Geschrieben 9. Februar 2004 Geschrieben 9. Februar 2004 Deine For-Schleifen sind falsch sie müssen so: for(x=0;x<=3;x++) for(y=0;y<=16;y++) aussehen. In deiner Variante ist die Abbruchbedingung x==3 bzw. y==16 also würde die Schleife solange durchlaufen werden wie x den Wert 3 und y den Wert 16 besitzt. Da du ihnen aber den Wert 0 zugewiesen hast sind diese Bedinungen nicht erfüllt und die Schleife wird garnicht erst durchlaufen. Da war wohl jemand schneller
Daiana Geschrieben 9. Februar 2004 Autor Geschrieben 9. Februar 2004 hey, das funzt:uli :uli Was sind Prä- oder Postinkremente? Nur aus Interesse. Danke für die schnelle Hilfe. Das ist superlieb von euch. :hodata :e@sy :marine :bimei :OD
MeisterB Geschrieben 9. Februar 2004 Geschrieben 9. Februar 2004 Man unterscheidet Präfix- (++a) und Postfixnotation (a++). Präfixnotation: b = ++a; Es wird zuerst a um 1 erhöht und dann b zugewiesen Postfixnotation: b = a++; Es wird zuerst b der Wert von a zugewiesen und danach a um 1 erhöht
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden