erledigt
-
xxx
-
xxx
-
ich würde die ausgabe etwas anderes machen:
for i = 0 to anzahl reihen for j = 0 to anzahl spalten if feld[i][j] == null gebe ' ' aus else gebe den wert aus
so kannst du jede einzelne zelle anders behandeln
-
xxx
-
Warum benutzt du keine Codetags?
slicc123 schrieb:
und da liegt mein problem mal hat das feld einen Zahlen Wert und mal einen charwert
Genau, und der printf-Formatstring muss (ohne Hacks) konstant sein, deswegen solltest du nicht %d sondern %c verwenden, da %d niemals das gewünschte Leerzeichen ' ' ausgeben kann, %c aber schon.
D.h. du musst deine Ziffern 1..9 in Zeichen '1'..'9' umwandeln und 0 in ' '.#include<stdio.h> #define N " 123456789" int main ( ) { int x,y,zeilenanzahl=9; int spaltenanzahl=9; char feld[][9]={{0,0,0,1,5,7,0,3,6}, {0,0,7,0,0,6,0,0,0}, {6,0,1,0,0,0,0,0,7}, {7,0,6,4,0,5,2,1,3}, {0,0,0,3,0,8,0,4,5}, {4,0,0,7,0,1,0,0,0}, {5,7,0,2,1,3,0,8,4}, {8,0,4,5,7,9,0,0,0}, {0,1,0,0,0,4,5,0,0} }; printf("\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCB\xCD\xCD\xCD\xCD\xCD\xCD\xCB\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n"); for (y=0;y<zeilenanzahl;y++) { if (y==3 || y==6) { printf("\xCC\xCD\xCD\xCD\xCD\xCD\xCD\xCE\xCD\xCD\xCD\xCD\xCD\xCD\xCE\xCD\xCD\xCD\xCD\xCD\xCD\xB9\n"); } printf ("\xBA %c %c %c\xBA %c %c %c\xBA %c %c %c\xBA\n",feld[y][0][N],feld[y][1][N],feld[y][2][N],feld[y][3][N],feld[y][4][N],feld[y][5][N],feld[y][6][N],feld[y][7][N],feld[y][8][N]); } printf("\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCA\xCD\xCD\xCD\xCD\xCD\xCD\xCA\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n"); return 0; }
-
xxx
-
Natürlich kann man das auch anders lösen, z.B. mit mehr Code.
[] ist korrekt für diesen Fall und dein beobachtetes dreidimensionales Array sind höhere Weihen der Zeigerarithmetik.
Dann warte mal noch ab, vielleicht schreibt dir einer hier ja noch eine dir genehme Lösung hin, wenn dir mein Erklärungstext auch nicht ausreicht.
-
xxx
-
ok ich habs geschafft danke für die hilfe
-
Wutz schrieb:
Natürlich kann man das auch anders lösen, z.B. mit mehr Code.
[] ist korrekt für diesen Fall und dein beobachtetes dreidimensionales Array sind höhere Weihen der Zeigerarithmetik.
Dann warte mal noch ab, vielleicht schreibt dir einer hier ja noch eine dir genehme Lösung hin, wenn dir mein Erklärungstext auch nicht ausreicht.Das funktioniert doch nur weil p[i]==i[p] oder?
-
xxx
-
Zwei Felder.
Oder du schreibst negative Werte rein und gibst dann den absoluten Wert aus.
-
Bitte lösche nie wieder deine Fragen aus einem Thread oder ändere den Titel sinnentstellend.
-
DirkB schrieb:
Zwei Felder.
Oder du schreibst negative Werte rein und gibst dann den absoluten Wert aus.
Die Antwort war für:
Der User soll beim Sudoku seine Einträge ändern können. Wie kann ich feststellen welche Felder ich vorgegeben habe?
-
bei meinem spiel habe ich auch probleme ich weiß nicht wie ich kontrollieren soll ob eine zahl schon mehrmals vorkommt