G
Guest
Gast
Hallo!
Ich hab folgendes Problem. Es geht um Sudoku in Java!
Ich hab es bis jetzt soweit implementiert, so dass ich ein Sudoku Brett habe, wo an den Stellen ohne Zahl alle
Zahlen gespeichert sind die noch möglich sind bzgl. gleicher Spalte/Zeile/Block. Jetzt gehts um die Solver.
Ein Solver läuft einfach durch und setzt alle Felder bei denen nur noch einen Zahl möglich ist. Das funktioniert.
Der andere ist in folgendem Text erklärt:
"Die erzwungene Zahl: Wir betrachten eine bestimmte Zahl, beispielsweise
die Fünf. Im abgebildeten Beispiel kommt sie sowohl
in der ersten als auch in der dritten Spalte schon vor, nicht aber in
der zweiten. Wo in dieser Spalte könnte die Fünf stehen?
Nicht in den ersten drei Feldern dieser Spalte, denn das Kästchen
links oben enthält bereits eine Fünf. Mit derselben Begründung
schließt das Kästchen links unten die letzten drei Felder der
zweiten Spalte aus. Also muss die Fünf der zweiten Spalte in einem
der Felder 4, 5 oder 6 stehen. Davon ist nur eines noch frei: Folglich
steht eine Fünf im fünften Feld. Mit Überlegungen dieser Art lassen
sich die mit schwarzen Punkten markierten Felder in der Abbildung
füllen.
Ich hab jetzt schon verschiedene Möglichkeiten ausprobiert diesen "Sudoku Solver" zu implementieren.
Und zwar mit folgendem PseudoCode:
- Iteriere über das das ganze Brett
- Halte an den Stellen ohne Zahl und erfasse die noch möglichen Zahlen in diesem Feld
- Überprüfe ob eine der möglichen Zahlen auch noch in der gleichen Zeile/Spalte/Block möglich ist. Wenn nicht dann setzte diese Zahl
Das Problem: Er verändert an meinem Sudoku Brett nichts wenn ich ihn drüber laufen lasse
Ich denke daher das mein Pseudo Code falsch ist... Könntet ihr mir bitte bitte helfen... Ich weiß echt nicht mehr weiter. Hat
jemand einen richtigen Pseudo Code?
Vielen Dank im voraus!
Mfg Martin
Ich hab folgendes Problem. Es geht um Sudoku in Java!
Ich hab es bis jetzt soweit implementiert, so dass ich ein Sudoku Brett habe, wo an den Stellen ohne Zahl alle
Zahlen gespeichert sind die noch möglich sind bzgl. gleicher Spalte/Zeile/Block. Jetzt gehts um die Solver.
Ein Solver läuft einfach durch und setzt alle Felder bei denen nur noch einen Zahl möglich ist. Das funktioniert.
Der andere ist in folgendem Text erklärt:
"Die erzwungene Zahl: Wir betrachten eine bestimmte Zahl, beispielsweise
die Fünf. Im abgebildeten Beispiel kommt sie sowohl
in der ersten als auch in der dritten Spalte schon vor, nicht aber in
der zweiten. Wo in dieser Spalte könnte die Fünf stehen?
Nicht in den ersten drei Feldern dieser Spalte, denn das Kästchen
links oben enthält bereits eine Fünf. Mit derselben Begründung
schließt das Kästchen links unten die letzten drei Felder der
zweiten Spalte aus. Also muss die Fünf der zweiten Spalte in einem
der Felder 4, 5 oder 6 stehen. Davon ist nur eines noch frei: Folglich
steht eine Fünf im fünften Feld. Mit Überlegungen dieser Art lassen
sich die mit schwarzen Punkten markierten Felder in der Abbildung
füllen.
Ich hab jetzt schon verschiedene Möglichkeiten ausprobiert diesen "Sudoku Solver" zu implementieren.
Und zwar mit folgendem PseudoCode:
- Iteriere über das das ganze Brett
- Halte an den Stellen ohne Zahl und erfasse die noch möglichen Zahlen in diesem Feld
- Überprüfe ob eine der möglichen Zahlen auch noch in der gleichen Zeile/Spalte/Block möglich ist. Wenn nicht dann setzte diese Zahl
Das Problem: Er verändert an meinem Sudoku Brett nichts wenn ich ihn drüber laufen lasse
Ich denke daher das mein Pseudo Code falsch ist... Könntet ihr mir bitte bitte helfen... Ich weiß echt nicht mehr weiter. Hat
jemand einen richtigen Pseudo Code?
Vielen Dank im voraus!
Mfg Martin