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;
    

  • Mod

    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!


Anmelden zum Antworten