![]() |
Die Türme von Hanoï
hy,
ich habe folgendes Problem : ich muss eine Prozedur schreiben, der ich diese VAriablen als Eingbe gebe :
Delphi-Quellcode:
N ist die Anzahl der Ringe
procedure Hanoi(N,G,H : integer, var LB : TListBox)
G ist der Stock aufdem sich die Ringe am Anfang befinden H ist der Stock wo die Ringe sich am Ende befinden sollen LB ist eine Listbox wo nach jedem schieben von einem Ring die Stöcke dringeschrieben werden (bsp: 1-2 : ein ring wird von stock 1 zu stock 3 befördert Die prozedur muss sich nach jedem verschieben eines ringes also selbst aufrufen! (Rekursive prozedur) also denke ich mao dass die Endkondition N=0 sein müsste?! hoffe koennt mir helfen danke cu |
Re: Die Türme von Hanoï
Delphi-Quellcode:
procedure TForm1.BewegeTurm(n: integer; s,z,h: integer);
//n: Scheibenanzahl; s: Startstapel-Nr.; z: Zielstapel-Nr.; h: Hilfsstapel-Nr. begin if n>0 then begin BewegeTurm(n-1,s,h,z); ListBox1.Items.Add(IntToStr(s)+' ==> '+IntToStr(z)); inc(Schritte); BewegeTurm(n-1,h,z,s); end; end; procedure TForm1.Button1Click(Sender: TObject); begin Schritte:=0; ListBox1.Clear; BewegeTurm(StrToInt(Edit1.Text),1,3,2); end; |
Re: Die Türme von Hanoï
geil.
Danke dir Matze. Genau das ist gerade meine Info-Hausaufgabe. Hast mir sehr gut geholfen. Ich frage mich nur, wie man von selbst auf solch ein Algorithmus kommen kann. Ich hab selbst mich einwenig rumgequählt, jedoch ist bei mir nichts rausgekommen. naja, auf jeden Fall danke dir. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz