Seite 1 von 1

warum das nicht funktioniert?

Verfasst: So Jun 05, 2016 6:24 am
von wam
Hallo, kann mir jemand bitte erklaren oder auf alternative wegweisen. Ich habe folgendes Problem immer als Nicht gefunden!

Code: Alles auswählen

#include <stdio.h>



int main(void)
{
	char array[6][7] = { {' ',' ',' ',' ',' ',' ',' '},
				       {' ',' ',' ',' ',' ',' ',' '},
				       {' ',' ','X',' ',' ',' ',' '},
			               {' ',' ','X',' ',' ',' ',' '},
				        {' ',' ','x',' ',' ',' ',' '},
				         {' ',' ',' ',' ',' ',' ',' '} };

	if( array[3][0]=='X' && array[2][0]=='X' && array[1][0]=='X' ||
		array[3][1]=='X' && array[2][1]=='X' && array[1][1]=='X' ||
		array[3][2]=='X' && array[2][2]=='X' && array[1][2]=='X' ||
		array[3][3]=='X' && array[2][3]=='X' && array[1][3]=='X' ||
		array[3][4]=='X' && array[2][4]=='X' && array[1][4]=='X' ||
		array[3][5]=='X' && array[2][5]=='X' && array[1][5]=='X' ||
		array[3][6]=='X' && array[2][6]=='X' && array[1][6]=='X' ||
		
		array[4][0]=='X' && array[3][0]=='X' && array[2][0]=='X' ||
		array[4][1]=='X' && array[3][1]=='X' && array[2][1]=='X' ||
		array[4][2]=='X' && array[3][2]=='X' && array[2][2]=='X' ||
		array[4][3]=='X' && array[3][3]=='X' && array[2][3]=='X' ||
		array[4][4]=='X' && array[3][4]=='X' && array[2][4]=='X' ||
		array[4][5]=='X' && array[3][5]=='X' && array[2][5]=='X' ||
		array[4][6]=='X' && array[3][6]=='X' && array[2][6]=='X' ||
		
		array[5][0]=='X' && array[4][0]=='X' && array[3][0]=='X' ||
		array[5][1]=='X' && array[4][1]=='X' && array[3][1]=='X' ||
		array[5][2]=='X' && array[4][2]=='X' && array[3][2]=='X' ||
		array[5][3]=='X' && array[4][3]=='X' && array[3][3]=='X' ||
		array[5][4]=='X' && array[4][4]=='X' && array[3][4]=='X' ||
		array[5][5]=='X' && array[4][5]=='X' && array[3][5]=='X' ||
		array[5][6]=='X' && array[4][6]=='X' && array[3][6]=='X' )
	{
			printf("\nGefunden");
	}
	printf("\nNicht gefunden");
	printf("\n");
}

Re: warum das nicht funktioniert?

Verfasst: So Jun 05, 2016 8:40 am
von Xin
Bei den vielen Abfragen blicke ich ja schon nicht mehr durch.
Und was genau soll eigentlich am Ende genau funktionieren?

Vielleicht definierst Du erstmal, was Du überhaupt suchst. Zum Beispiel, wie 3 senkrecht aussehen würde, wenn es an Position x/y beginnt.
Dann definierst Du noch ein Feld (0...4 und 0..2) mit zwei For-Schleifen und rufst die Funktion auf, die 3 senkrecht an diesen Position.

Re: warum das nicht funktioniert?

Verfasst: So Jun 05, 2016 9:55 am
von cloidnerux
Hallo, kann mir jemand bitte erklaren oder auf alternative wegweisen. Ich habe folgendes Problem immer als Nicht gefunden!
Unabhängig davon, was dein Problem ist, würde ich mal vermuten, dass deine Logikverknüpfung in der if zum einen viel zu kompliziert und zum anderen falsch ist.
Dadurch das du keine Klammern setzt, ist es eine Logikverknüpfung der Form

Code: Alles auswählen

a && b && c || d ...
Und die wird nur WAHR, wenn a, b und (c oder d) wahr werden.

Re: warum das nicht funktioniert?

Verfasst: So Jun 05, 2016 10:46 am
von nouseforname
Er versucht 3 X in einer Reihe zu finden. Durchsucht aber nicht das ganze Array sondern nur einen Teilbereich, und dazu den falschen um die 3 angegebenen X zu finden. Wenn ich das richtig sehe. Den Sinn des ganzen verstehe ich aber auch noch nicht. :)

Re: warum das nicht funktioniert?

Verfasst: So Jun 05, 2016 6:08 pm
von wam
Ooo, ich sehe jetzt. Eine 'X' klein. Danke für eure antworten. Ich bin absolute Anfänger und wollte KI für 4gewint programmieren und testen ob das 3er funktioniert.