Einzelnen Beitrag anzeigen

SeriousToni

Registriert seit: 12. Jan 2007
39 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Türme von Hanoi, richtiger Algorythmus?

  Alt 1. Feb 2007, 19:41
Ich habe eine etwas andere Variante gefunden:
Code:
procedure Hanoi(n,nr:integer; von,nach,uber:char; ausgabe:string);
begin
nr:=n;
if n>0 then
  begin
  Hanoi(n-1,nr,von,uber,nach,ausgabe);
  ausgabe:='Verschiebe Scheibe '+inttostr(nr)+' von '+von+' nach '+nach;
  form1.listbox1.Items.add(ausgabe);
  Hanoi(n-1,nr,uber,nach,von,ausgabe);
  nr:=nr-1;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var anz,num:integer;ausg:string;
begin
anz:=strtoint(form1.Edit1.Text);
Hanoi(anz,num,'A','C','B',ausg);
form1.Label4.Caption:=inttostr(form1.ListBox1.Count);
end;

end.
Ich sitze jetzt schon andert halb Stunden hier und versuche nachzuvollziehen, wie das Programm diese Procedur abarbeitet und wie sich die Variablen bei jedem Durchlauf ändern, aber ich bekomme es nicht raus. Erklärt sich vielleicht jemand bereit hier mit diesem Code einen kleinen Durchlauf mit mir zu machen? Das Programm funktioniert aber ich kann nicht nachvollziehen wie?
  Mit Zitat antworten Zitat