warum das nicht funktioniert?

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
wam
Beiträge: 4
Registriert: Sa Jul 04, 2015 10:35 am

warum das nicht funktioniert?

Beitrag von wam » So Jun 05, 2016 6:24 am

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");
}

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: warum das nicht funktioniert?

Beitrag von Xin » So Jun 05, 2016 8:40 am

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: warum das nicht funktioniert?

Beitrag von cloidnerux » So Jun 05, 2016 9:55 am

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: warum das nicht funktioniert?

Beitrag von nouseforname » So Jun 05, 2016 10:46 am

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. :)

wam
Beiträge: 4
Registriert: Sa Jul 04, 2015 10:35 am

Re: warum das nicht funktioniert?

Beitrag von wam » So Jun 05, 2016 6:08 pm

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.

Antworten