void hanoi(int intquelle, int intziel, int intanzahl)
{
int inttmp;
if(intanzahl==1)
{
move(intquelle, intziel);
}
else
{
inttmp = 3 - intquelle - intziel;
hanoi(intquelle, inttmp, intanzahl-1);
move(intquelle, intziel);
hanoi(inttemp, intquelle, intanzahl-1);
hanoi(intquelle, intziel, intanzahl-1);
}
}
intquelle ist der Quellstab
intziel ist der Zielstab
intanzahl ist die Zahl der Scheiben am Anfang (hier 4)
in der Funktion move wird die die Scheibe verschoben(intern wird das ganze mit einem zweidimensionalen Array abgebildet)
Die Funktion move geb ich hier nicht an, Du hast ja nach der Rekursion gefragt.
Ferris
...noch ein Klämmerchen vergessen
[Dieser Beitrag wurde von Ferris am 30. November 2000 editiert.]