Thema: Delphi Sudoku Logik

Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#68

AW: Sudoku Logik

  Alt 7. Mär 2011, 08:42
Hallo Hans,

du hast in sofern recht, das mein gefundener Fehler gar nicht bei dir im Programm war. Das hab ich vor 3 Wochen, als du #61 hochgeladen hast, da eingefügt, weil ich dachte, dass es den Fehler beheben würde (es muss, wenn die Fkt. false zurück gibt, auch die Zelle an der Position wieder auf 0 gesetzt werden.

Leider hab ich mich da beim Schreiben vertan und es hat nix gebracht, da ich gerade das auf null setzten da nicht gemacht habe. Mt der Korrektur oben funktioniert es dann aber, ...immer !!!

Was du gemacht hast ist schlecht. Du bekämpft nicht das Problem, sondern du "vertuschst" es. Du läßt das Programm sooft laufen, bis ein Sudoku ohne die Nullen entsteht. Das geht zwar auch, aber hat viele Nachteile:
- Längere Laufzeit (OK fällt bei 2x2 nicht auf, aber bei 4x4)
- Zudem werden auch falsche Sudokus generiert, wo zwar alle Nullen weg sind, aber trotzdem z.B. zwei 4ren in einer Reihe sind. Mach es mal oft genug, dann wirst du so eine Variante sehen.

Denk nochmal drüber nach, wie das rekursive Programm genau abläuft. Dann wird dir auch auffallen, dass du keinen Else-Zweig brauchst!!! Mach mal Gedanklich einen "Schreibtischtest" was an irgendeiener Stelle des Sudokus passiert.
Ralph
  Mit Zitat antworten Zitat