Sudoku programmieren, abfragen, ob die zahl in der reihe doppelt vorkommt?
das ist sudoku in c. ohne grafik. habe arrays, also felder[9][9], denen ich zufallszahlen gebe. wie kann ich abfragen, ob die zahl doppelt vorkommt, damit ich sie neu initialisieren kann? die schleife die ich probiert habe, funktioniert nicht. jemand vorschläge? wie heißt die seite, wo man den code reinschicken kann, damit ihr die schleife ansehen könnt?
3 Antworten
Wenn du eine Zufallszahl generiert hast, musst du mit einer/mehreren Schleife/n durch all die Felder laufen, die zu überprüfen sind. Je Feld schaust du, ob der Inhalt gleich der Zufallszahl ist. Wenn ja, kannst du die Schleife abbrechen und eine neue Zufallszahl generieren. Danach erfolgt eine erneute Überprüfung. Dieses Verfahren wird so oft wiederholt, bis die Zufallszahl angenommen werden konnte.
wie heißt die seite, wo man den code reinschicken kann, damit ihr die schleife ansehen könnt?
pastebin.com oder hastebin.com eignen sich dafür oder du postest den Code hier formatiert in einem Code-Block.
Ist das überhaupt notwendig?
Ich würde einfach, sobald eine neue Zahl eingegeben wird, genau diese Zahl überprüfen, ob sie in der Reihe / Spalte bereits vorkommt.
... Achso, genau so willst du das anscheinend...
Dann würde ich eine Funktion basteln, die die Ziffer und die Zeile und Spalte übergeben bekommt, an der sie eingetragen werden soll, erstellen
function check(Zahl, Zeile, Spalte)
{
for(int i=0;i<9;i++)
if((arr[i][Spalte] == Zahl) || (arr[Zeile][i] == Zahl))
return false;
return true;
}
(ungetestet)
Welche Schleife hast du denn probiert?