WinFuture-Forum.de: Sudoku Lösungsalgorithums In C - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Sudoku Lösungsalgorithums In C Probleme


#1 Mitglied ist offline   SoniX 

  • Gruppe: aktive Mitglieder
  • Beiträge: 696
  • Beigetreten: 19. August 04
  • Reputation: 0
  • Wohnort:Buxtehude

geschrieben 21. Februar 2007 - 01:47

Hallo Community !

Ich habe ein Problem mit einem Sudoku Algorithmus. Dieser soll aus ein paar eingegebenen
Zahlen für ein Sudoku die restlichen richtigen erkennen. Also das Sudoku lösen.

Ich muß das in COBOL machen, suche aber dafür erstmal einen Algorithmus den ich dann später
umsetzen kann. Dabei bin ich durch ShadowHunter auf folgenden link
gestoßen.

Die verschiedenen Teile der Musterlösung habe ich zusammengefügt, doch leider
klappt das nicht.
Es werden zwar ein paar Zahlen ergänzt, aber halt nicht alle.

Hatte in der main eigentlich gedacht das sowas wie
while(isSolved(array) == 0){
   solveField(array);

}


klappt, aber das läuft in ne Endlosschleiffe.


Hat jemand ne Idee wo der Fehler liegt?

Im Anhang dazu der Quellcode.

DANKE !

Gruß,
SoniX


[EDIT]
Hatte etwas zu viel Code rangehängt, man braucht nur ein File davon..sorry!
[/EDIT]

Angehängte Datei(en)

  • Angehängte Datei  code.zip (4,61K)
    Anzahl der Downloads: 132

Dieser Beitrag wurde von SoniX bearbeitet: 21. Februar 2007 - 12:05

Eingefügtes Bild
Eingefügtes Bild
Eingefügtes Bild
Eingefügtes Bild
Eingefügtes Bild


System:
E6750 @2x 3.0Ghz, GA-P35 DS3, 3GB MDT , GF8800 GTS 640MB
0

Anzeige



#2 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.336
  • Beigetreten: 08. April 06
  • Reputation: 887
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 21. Februar 2007 - 14:40

Schon mal versucht anstelle einer

Kopfgesteuerten Schleife


eine


Fußgesteuerte Schleife

zu verwenden? Also anstelle einer einfachen

while(Bedingungen)
{
Schleifenanweisung
}


ein


do 

{
Schleifenanweisung
}while(Bedingungen)


Ob bei cobol die Syntax ganauso ist kann ich grad nciht sagen. Aber Wikis und HowToos werden dir da sicherlich helfen können.
0

#3 Mitglied ist offline   evert 

  • Gruppe: aktive Mitglieder
  • Beiträge: 44
  • Beigetreten: 20. Januar 07
  • Reputation: 0

geschrieben 21. Februar 2007 - 14:49

Ich weiß zwar nicht ob dir das hilft, aber ich kann dir mal eine Lösung in Java geben!
Source ist im Anhang

Angehängte Datei(en)


Dieser Beitrag wurde von evert bearbeitet: 21. Februar 2007 - 14:50

0

#4 Mitglied ist offline   SoniX 

  • Gruppe: aktive Mitglieder
  • Beiträge: 696
  • Beigetreten: 19. August 04
  • Reputation: 0
  • Wohnort:Buxtehude

geschrieben 22. Februar 2007 - 17:49

Danke für Eure Beiträge.

Das Java Programm von Evert hilft mir sehr. Da der Code auch recht einfach
ist und ich denke, dass ich das einfach in Cobol umsetzen lässt.
Ist wesentlich kürzer und einfacher als das Beispiel was ich bisher habe, und
Dein Algorithmus arbeitet richtig. :-)


Vielen Dank !

Gruß,
SoniX
Eingefügtes Bild
Eingefügtes Bild
Eingefügtes Bild
Eingefügtes Bild
Eingefügtes Bild


System:
E6750 @2x 3.0Ghz, GA-P35 DS3, 3GB MDT , GF8800 GTS 640MB
0

#5 Mitglied ist offline   Snare_8/130 

  • Gruppe: Mitglieder
  • Beiträge: 1
  • Beigetreten: 28. Februar 07
  • Reputation: 0

geschrieben 07. März 2007 - 20:14

@evert: Wie würde das aussehen, wenn deine Methode [su do ku] nur einen Parameter (spalte) haben und vom Typ void sein würde? Ich hab das mal versucht an mein Projekt anzupassen, wusste dann aber nicht genau, an welcher Stelle ich dann die Zeilen durchlaufen soll. Wär nett, wenn du mir helfen könntest! Source ist im Anhang.

edit: Ich hab jetzt mein Programm nochma verbessert, beinhaltet aber immer noch en Fehler^^

Angehängte Datei(en)


Dieser Beitrag wurde von Snare_8/130 bearbeitet: 26. März 2007 - 17:24

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0