Array auf gleichen Inhalt prüfen?
-
Hi Leute!
Ich hab ein 7x7 Array und möchte dieses nun auf den Inhalt prüfen. Und zwar so:
Ich will, dass mir der return-Wert der Funktion (in der Funktion soll das geprüft werden) eine 1 liefert, wenn der Inhalt des GANZEN Arrays ungleich einem "+" ist. Ich häng da jetzt schon einige Zeit drüber aber irgendwie komm ich nicht drauf. Mein Versuch bisher:
for(int i=0; i<7; i=i-1) { for(int j=0; j<7; j=j+1) { if(array[i][j] != '+') { return 1; } } }
Das Problem daran ist jetzt nur, dass mir die Funktion 49 mal den return-Wert zurückliefert!
Könnt ihr mir helfen?
-
bandchef schrieb:
..eine 1 liefert, wenn der Inhalt des GANZEN Arrays ungleich einem "+" ist..
for(int i=0; i<7; ++i) // :warning: { for(int j=0; j<7; ++j) { if(array[i][j] == '+') { return 0; } } } return 1;
-
Geh die Sache anders an: Wenn du ein + findest, gibst du etwas anderes zurück. Wenn die Schleifen durchlaufen ohne ein Plus zu finden, gibst du 1 zurück.
edit: zu spät...
-
Hm, in meinem Quellcode hab ich das i=i+1 eigentlich stehen. Wahrscheinlich hab ich's von ner alten Version ins Forum kopiert. Sorry!
Jetzt hab ich noch das Problem. Wenn ich "== '+'" mach, dann prüft er mir ja ob im ganzen array + stehen, nicht wahr? Ich will ja so prüfen, dass im ganzen array was anderes stehen soll als ein + und nur dann soll er mir eine 1 returnen. Außerdem krieg ich ja in dem Beispiel oben schon eine 1 returned, wenn das erste Element, also array[0][0], ungleich einem + ist.
Ich will ja nur eine 1 returned haben wenn festgestellt wurde, dass tatsächlich im GANZEN array was anderes steht als ein +!
Edit:
Wenn du ein + findest, gibst du etwas anderes zurück. Wenn die Schleifen durchlaufen ohne ein Plus zu finden, gibst du 1 zurück.
for(int i=0; i<7; i=i+1) //Spielfeld voll? { for(int j=0; j<7; j=j+1) { if(Spielfeld[i][j] == '+') { break; } else { return 1; } } }
-
Schau dir den Code noch einmal genau an :xmas1: .
-
Sorry, Leute ich glaub ich hab grad zeitlich blöd editiert...
-
Danke Leute jetzt hab ich mein Problem gefixt!