Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Sudoku Löser (https://www.delphipraxis.net/70996-sudoku-loeser.html)

simonko 7. Jun 2006 19:04


Sudoku Löser
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hier ein einfacher Sudoku Löser in C gschrieben. Er liest die Werte aus einer txt datei ein und gibt sie in einer anderen aus. Ich hab andere Lösungen hier gesehen, und hab mich aufgeregt, dass die
objektorientierung alles so kompliziert macht.

MFG

omata 7. Jun 2006 19:26

Re: Sudoku Löser
 
Hallo simonko,

schönes Programm. Etwas unschön ist der harte Programmabsturz, wenn die Input.txt-Datei nicht da ist. Und sonst ist das wie gehabt. Bei folgender Vorgabe braucht dein Solver wie viele andere eben etwas länger...

1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0
0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0
0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0
0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0
0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0
0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 0
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9

schade, es geht auch schneller. siehe hier

Aber trotzdem :thumb:

MfG
Thorsten

simonko 7. Jun 2006 19:30

Re: Sudoku Löser
 
naja es geht eigentlich um die 2 hauptfunktionen und nicht um die benutzerschnittstelle...
du kannst aber gern alle fehler die dumme benutzer machen könnten abfangen.. ich hab anderes zu tun

simonko 7. Jun 2006 19:33

Re: Sudoku Löser
 
@Omata eigentlich müsste es ja schneller gehen, wenn ich das sudoku einfach drehe, weil du hast ja am ende mehr zahlen reingemacht. dann sind alle kombinationen die er am anfang rechnet umsonst.

3_of_8 7. Jun 2006 19:35

Re: Sudoku Löser
 
So wie ich den Code interpretiere, löst er nur eindeutige Sudokus. Wenn es mehrere Lösungen gibt, wird der nicht funktionieren, oder?

simonko 7. Jun 2006 19:37

Re: Sudoku Löser
 
Doch es funktioniert. Er nimp dabei die erste lösung auf die er kommt.
wenn du das exit(0) entfernst und bei der datei anstatt write append
nimmst würde er alle sudokus reinschreiben. das kann aber gefährlich werdn
wenn du nur ein paar zahlen vorgibst dann gibt es sehr viele lösungen und die
ausgabedatei wird hunderte von MB gros. :)

omata 7. Jun 2006 19:39

Re: Sudoku Löser
 
@simonko: ja natürlich könntest du es drehen. Nur das Programm müsste dann so schlau sein und das vorher wissen. Das Programm soll es ja lösen und nicht du.

@3_of_8: Wenn es mehrere Lösung gibt, wird bei der ersten gültigen aufgehört - das ist doch völlig ausreichend

simonko 7. Jun 2006 19:41

Re: Sudoku Löser
 
ja dann muss man eben eine funktion schreiben die es dreht. es ist doch nicht so schwer
zu ermitteln wo am meisten werte eingetragen wurden. oder? :)

3_of_8 7. Jun 2006 19:48

Re: Sudoku Löser
 
Backtracking?

simonko 7. Jun 2006 19:49

Re: Sudoku Löser
 
ja


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz