Fehler! ? == hilfe? !
-
Hallo ihr Programmierer da draußen!
Ich habe mich hingesetzt um ein 4 Gewinnt Programm zu schreiben(mein erstes Projekt),
und bin schon so gut wie fertig. Nur das ein Fehler auftritt:
"XXX.exe hat einProblem festgestellt..."
Ich habe herausgefunden das der FEhler in folgendem Abschnitt liegt:for(int i = 0; i < 7; ++i) { //Klammern werden alle geschlossen setzeStein(steuerung[0], 2); //Befehl funktioniert for(int j = 0; j < 7; ++j) { setzeStein(steuerung[1], 1); for(int k = 0; k < 7; ++k) { setzeStein(steuerung[2], 2); for(int l = 0; l < 7; ++l) { setzeStein(steuerung[3], 1); for(int m = 0; m < 7; ++m) { setzeStein(steuerung[4], 2); for(int n = 0; n < 7; ++n) { setzeStein(steuerung[5], 1); for(int o = 0; o < 7; ++o) { setzeStein(steuerung[6], 2); for(int p = 0; p < 7; ++p) { setzeStein(steuerung[7], 1); for(int q = 0; q < 7; ++q) {Ich weiß das sieht etwas komisch aus, aber alle anderen Teile sind definitiv nicht das Problem.
Kann man "for-schleifen" nicht schachteln?
Gibt es alternativen?Vielen dank im vorr-aus.
Farmer46
-
Meine Güte, das sind ja neun verschachtelte Schleifen!

Meinst du nicht, das wäre noch zu vereinfachen?Zu deinem Problem: Wahrscheinlich schreibst du irgendwo über die Arraygrenzen. Mehr sehe ich jetzt auch nicht...
-
Auch hier wieder. Da reicht eine Schleife..

Zugriff auf Arrays per Zahl im Code ist meistens ein Fall für eine Schleife. (Vor allem wenn der Zugriff inkrementell geschieht..)
-
Ich habe den Array 10 mal so groß gemacht wie es ging, und es hat wieder nicht funktioniert...
Wie meint ihr das mit einer schleife Lösen?
Ich bin eher noch ein anfänger...
-
Kann es sein das du einfach nur
setzeStein(steuerung[i], k);für jedes gerade i mit k=2 und jedes ungerade i mit k=1 aufrufen willst? So sieht es für mich zumindest aus und falls dem so ist, sollte dir folgende Schleife genügen.
for( int i=0; i<=7; i++ ) { if ( i%2 == 0 ) setzeStein(steuerung[i], 2); else setzeStein(steuerung[i], 1); }