"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[Help] C++ Schleifen Problem..

Hansmaulwurf 02.11.2007 - 15:44 1052 5
Posts

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
Zitat
#include <iostream.h>

int main()
{
int y=0;
int x=0;
for (int x=0,y=0; y=5 ; x++)

if (x < 4)
{
if (x%2==1)
{ cout << "#" ;}
else {cout << "+"; }
}
else
{
cout << "\n";
y = y+1;
x = 0;
}
}

Sodala. Problem ist, es soll ein Schachbrett Muster werden Abwechselnd Abstand, und #. Ich hab halt daweil ein + daweil statt Abstand. Das Problem ist das er nicht aufhört neue Linien zu beginnen. Eigentlich ist die Abbruchbedingung ja y=5, und sobald es 5 ist, sollte er ja aufhören. Er macht es aber nicht und prouziert ne Endlosschleife. Warum das? Ich muss irgendwo einem logischen Fehler aufsitzen, aber ich finde ihn nicht wirklich.. Wenn ihr mir helft, kann ich die restlichen Programme auch schreiben, da die sehr ähnlich sind, aber wenn ich das nicht schaff, kann ich den ganzen Übungsblock schmeißen. Danke vielmals schon mal im Vorraus :)

3mind

mimimi
Avatar
Registered: Sep 2004
Location: 1030
Posts: 1588
for-schleife sollte auch mit { ... } umschlossen werden
des weiteren ist es sehr schlecht zwei unterschiedliche variablen in die for schleife zu packen ... vielleicht helfen dir zwei verschachtelte for-schleifen, einmal für x, einmal für y weiter mit passenden abbruch bedingungen.

versuchs mal

//edit: weiterer fehler - y=5 ist eine zuweisung, du willst vermutlich y == 5 prüfen.

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Warum ein zweimaliges int x = 0, y = 0 (vor und in der Schleife)?

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
K, danke euch.
Es lag nur an der mangelhaften if anweisung.:bash:
Hät ich selber auch draufkommen können. ( übrigens hat == nicht funktioniert, nur <=) bei == gibt er gar nichts aus. Ich weiß zwar nicht warum, aber so funktioniert es.
Danke euch

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Weile eine for-Anweisung etwas so lange tut, so lange die Bedingung erfüllt ist. Und das trifft bei == halt in nur genau einem Fall zu ;)
Bearbeitet von jives am 02.11.2007, 16:24

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Bitte in Zukunft den Code mit Einrückungen versehen und in [CODE] oder [PHP] Tags verpacken - so ist das ja unlesbar.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz