Forum: Programmieren allgemein
by Cöster,
21. Nov 2006
Was mir noch aufgefallen ist:
Wenn eine Lösung gefunden wurde, wird die For-Schleife von j nicht abgebrochen. Selbst, wenn man nach 'ShowSelection' (Z. 72) Break oder Exit aufrufen würde, würde aber nur die aktuelle Inkarnation abgebrochen. In den unteren Inkarnationen wird die Schleife auf jeden Fall zuende (bis j = Length(Feld)) durchlaufen.
Wie ließe sich das denn lösen?
Forum: Programmieren allgemein
by Cöster,
21. Nov 2006
Der Code sieht gut aus. Ich denke, Zeile 34 (Selektiert := False) könntest du dir sogar noch sparen, denn beim Auflösen der Inkarnationen geschieht dies sowieso.
Forum: Programmieren allgemein
by Cöster,
18. Nov 2006
Ich versuch auch gerade die Aufgabe nach dem Backtracking-Verfahren zu lösen. Die rekursive Prozedur oder Funktion ist wahrscheinlich nicht länger als 20 Zeilen. Die Erklärung des Unwissenden ist auch ziemlich logisch, aber ich krieg es einfach nicht in Code umgesetzt :(
Ich hab bisher noch keine Erfahrung mit Backtracking gemacht. Könnte vielleicht jemand (z.B. der Unwissende oder auch...
Forum: Programmieren allgemein
by Cöster,
18. Nov 2006
@ Hawkeye: Würde sich das nicht bei einer größeren Anzahl von Münzen negativ auf die Rechenzeit auswirken? Denn wenn ich dich richtig verstehe, willst du alles ausprobieren.
Widerspricht sich das, Rekursion + Backtracking und Funktion? Von Aufruf B gelangst du automatisch zurück zu Aufruf A: A ruft B auf, sobald B fertig ausgeführt ist, bist du wieder in A.