-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
7. Mär 2011
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...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
4. Mär 2011
Manchmal hilft es scheinbar, wenn man den ganzen Kram 3 Wochen liegen läßt und dann nochmal draufguckt. Hab den Fehler mMn gefunden: 3. Zeile von unten.
Zudem hab ich mal die Bestimmung von X,Y aus der Schleife rausgenommen. Das muss ja nicht jedes mal neu berechnet werden, da es sich ja nicht ändert.
function SetCell(i: integer) : boolean;
var ValidDecision: TStringList;
j,X,Y:...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
4. Mär 2011
In der letzten Version gibt es einen Logikfehler irgendwo, aber ich konnte ihn nicht finden.
Hab mal die Ideen von Hans in einer abgewandelten Version eingebaut. Kommt nicht an deine damalige Version dran, aber Hans (und mir auch) ging es glaub ich um den Lerneffekt. Meine Variante scheint zu laufen, drum häng ich sie mal hier an.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
25. Jan 2011
Hallo Deep-Sea,
im Prinzip will Hans glaub ich was ähnliches erreichen wie du es beschreibst. Da er aber dabei lernen will geht er Schritt für Schritt an die Sache ran, d.h. er will keine fertige Lösung (Behaupte ich jetzt mal dreist).
Ich könnte mir aber vorstellen, dass er, wenn er fertig ist, deine Variante gerne mal sehen würde, um zu sehen was man alles anders und evtl. besser machen...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
25. Jan 2011
Hallo Hans,
in DigitIsOK, an der Stelle, wo das testen auf die kleinen Quadrate losgeht steht diese Zuweisung:
X:=i div SmallSize;
Y:=i div SmallSize;
Diese muss lauten (Hab ich vorher übersehen, sorry.):
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
24. Jan 2011
Wo hast du das denn hingepackt?
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
19. Jan 2011
Du hast recht. Ich hab mir die Wurzelfunktion noch nie angesehen und wußte nicht, dass sie einen Float-Wert zurückliefert, wobei das ja Sinn macht, sind doch die wenigsten Zahlen Quadratzahlen.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
19. Jan 2011
Sieht schon ganz gut aus. Fehlerhaft ist mMn nur in der DigitIsOK der part der auf die Quadrate prüft. Hab mal Kommentare reingeschrieben, wie es mMn geändert werden müsste.
Jumpy
function DigitIsOK(i,Digit: integer):boolean;
var
j,k: Integer;
X,Y,SmallSize: integer;
begin
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
17. Jan 2011
Hier mal als Beispiel was es so gibt.
http://www.roqa.de/html/sudoku.html
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
17. Jan 2011
Fehler gefunden. Es fehlt mal wieder eine -1:
for i = Smallsize*QuadratNummerX To Smallsize*QuadratNummerX+Smallzise-1
for j = Smallsize*QuadratNummerY To Smallsize*QuadratNummerY+Smallzise-1
So sollte es gehen,
Jumpy
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
17. Jan 2011
Ich nehme an, du hast den Testcode für das Quadrat da eingebaut, wo du auch zuvor die Zeile und Spalte getestet hast? Zeig mal das Ganze, vllt. kommt es da zu Konflikten.
Deine Schleifen können aber nicht richtig sein:
for j := (SmallSize * X) to (SmallSize * X) do
Start und Endwert sind immer gleich. Da wird ja nur einmal was gemacht, das kann auch nicht richtig sein. Ich dachte meine...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
13. Jan 2011
Ein Gedanke, der mir dazu noch gekommen ist. Wenn man das so rekursiv ausbaut, hat man dann die Funktion nicht u.U. sehr oft aufgerufen und im Speicher? Z.B. bei einem 9er Soduko 81 mal?
Ist das nicht schlecht für die Performane? Bin ja selber noch neu beim Programmieren, kann also sein, dass ich das überschätze und sowas bei heutiger Rechenpower egal ist.
In die selbe Kerbe gehauen. Wäre...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
12. Jan 2011
Wenn man von rein Quadratischen Sudokus ausgeht, so ist Size bei dir ja die Größe des Hauptquarates. Die Wurzel aus Size gibt dir dann die größe der kleinen Quadrate und die Info wieviele davon in einer Reihe/Spalte stehen.
Deine X und Y Werte liefern dir wieder mit mod und div die Infos die du brauchst. Wenn Smallsize = Wurzel(Size) ist könnte es so gehen:
x div Smallsize = "X Nummer des...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
12. Jan 2011
Wie lösche ich den Post wenn ich gerade Müll geschrieben habe????
Egal, versuch ich was evtl. sinnvolles:
Aus der Hilfe: Random gibt eine Zufallszahl im Bereich 0 <= X < Range zurück.
Also ist die -1 in
dig:=ValidDecision;