Sudokufeld auf fehler prüfen
-
Hallo, ich habe lange überlegt wie das gehen soll, bin aber nicht auf das richtige Ergebnis gekommen. Also ich möchte prüfen ob in einem 3 x 3 Feld (mit 2 dimensionalem Array) alle Zahlen nur einmal stehen. Es können nur Zahlen von 1 bis 9 eingesetzt werden.
Ich denke mal das müsste mit 2 for-Schleifen gehen aber ich komme einfach nicht drauf.
bool check_win(){
for(int i = 0; i < 9; i++){
for(int o = 0; o < 9; o++){
if(sudoku[i][o] == <Eine bereits vorhandene Zahl>)
return false;
else
return true;
}
}
}
So in der art.
MfG Bl4ckdream
-
Ein Array, in dem Du Dir merkst, welche Zahlen Du schon gesehen hast wäre z.B. eine Lösung:
bool check_win(){ bool seen[10] = { false }; // 9+1 bools, dann brauchen wir keinen Offset beim Zugriff for(int i = 0; i < 3; i++){ for(int o = 0; o < 3; o++){ if(seen[sudoku[i][o]] == true) return false; else seen[sudoku[i][o]] = true; } } return true; }