Türme von Hanoi
Frage: Türme von Hanoi(7 Antworten)
Ich habe das soweit eben programmiert: void hanoi(int n, char a, char b, char c) { if (n<=1) { cout << "Trage oberste Scheibe von " << a << " nach " << b << endl; } else { hanoi(n-1, a,c,b); hanoi(1, a,c,b); hanoi(n-1, c,b,a); } } mit dem Aufruf hanoi(3,`A`,`B`,`C`); Und raus kommt Trage oberste Scheibe von A nach B Trage oberste Scheibe von A nach B Trage oberste Scheibe von B nach C Trage oberste Scheibe von A nach C Trage oberste Scheibe von C nach A Trage oberste Scheibe von C nach A Trage oberste Scheibe von A nach B Aber die ersten beiden Zeilen der Ausgabe können ja gar nicht gehen und die unterste kann auch nicht gehen, da er ja nach C transportieren soll :( Was ist denn daran falsch? |
Frage von Webperoni (ehem. Mitglied) | am 29.04.2008 - 22:53 |
Antwort von John_Connor | 29.04.2008 - 22:55 |
Ich |
Antwort von Webperoni (ehem. Mitglied) | 29.04.2008 - 23:04 |
Das ist auch nicht so leicht.... Weiß da denn keiner was da falsch sein kann? :( |
Antwort von nosferatu_alucard | 29.04.2008 - 23:14 |
also ich hab ihn nur in delphi programmieren müssen |
Antwort von nosferatu_alucard | 29.04.2008 - 23:36 |
und bie mir ist der was geworden hab mir da foren zur hilfe gezogen war ganz gut dadurch hab 15 insgesamt auf facharbeit und programm - sortieren und suchen von daten bekommen ;) |
Antwort von heart_shaped_box | 29.04.2008 - 23:41 |
http://www.myvideo.de/watch/2536700/Anti_Hannoi |
Antwort von Webperoni (ehem. Mitglied) | 30.04.2008 - 13:57 |
Wer mir sagt, was falsch ist, bekommt eine Auszeichnung :) |
Antwort von GAST | 30.04.2008 - 14:27 |
ihr "deppen", den algorithmus steht bei wikipedia funktion bewege (Zahl i, Stab a, Stab b, Stab c) { falls (i > 0) { bewege(i-1, a, c, b); verschiebe oberste Scheibe von a nach c; bewege(i-1, b, a, c); } } |