- potrebujes si nastudovat REKURZIVNE prograamy, a zvladnes to
-velmi nie je jasne, co ma byt na vystupe (ci to ma daco kreslit, alebo staci nejaky "ciselny" vystup)...
-ono tazko pomahat, ked ani ty nenapises, co presne chces
- pisal som v inej teme, ze je nieco ine, spytat sa ludi na nejaky problem (pripadne aspon nieco zacat, a potom sa pytat) alebo si popytat vyriesenie celeho zadania.
- existuje viac verzii jazyka C (od roznych firiem), pripadne aj C++
- ale aby si nehovoril, ze som svina, tak som Ti daco nasiel (mimochodom 3 minuty hladania):
http://www.roland-illig.de/hanoi.c.html
Kód:
/***************************************************************/
/* Die Türme von Hanoi Lizenz: GPL */
/* */
/* (c) 2003 Roland Illig <1illig@informatik.uni-hamburg.de> */
/***************************************************************/
#include <stdio.h>
/**
* Bewegt n Scheiben von Turm a nach Turm c und benutzt als Zwi-
* schenspeicher Turm b.
*/
static void bewege (char a, char b, char c, int n)
{
if (n == 1) {
printf("Lege die oberste Scheibe von Turm %c "
"auf Turm %c.\n", a, c);
} else {
bewege(a, c, b, n-1);
bewege(a, b, c, 1);
bewege(b, a, c, n-1);
}
}
int main (int argc, char **argv)
{
bewege('a', 'b', 'c', 5);
return 0;
}