Anzahl der Durchläufe zählen?
Verfasst: Do Mai 29, 2014 2:52 pm
Hallo liebe Forengemeinde.
Ich habe ein Problem:
Ich sitze hier an der Hanoi Aufgabe und weiß nicht weiter...
das hier hab ich schon.
Mein Problem ist, daß ich jetzt eine Ausgabe machen muß, die mir nur ausgibt, wie viele Durchläufe ich brauche um zu dem Ende zu kommen.
Wie komme ich dahin?
Ich kapier das irgendwie nicht...
Ich habe es schon probiert mit Count, aber da werden dann nur alle Züge ausgegeben, nicht nur der letzte (d.h. er zählt hoch bis z.B. 15 und gibt nicht nur 15 aus).
Mit welcher Funktion kann ich das hin bekommen?
Vielen lieben Dank!!
Taiko
Ich habe ein Problem:
Ich sitze hier an der Hanoi Aufgabe und weiß nicht weiter...
Code: Alles auswählen
#include <stdio.h>
void bewege(char x, char y, char z, int n)
{
static int count = 1;
printf("%3d: Bewege %5d:%c nach %c\n",count, n, x, y);
count++;
if(n>1) bewege(x, z, y, n-1);
if (n>1) bewege(z, y, x, n-1);
}
main(void)
{
int n;
printf("DIE TUERME VON HANOI\n");
printf("? Anzahl Scheiben = ");
scanf("%d", &n);
bewege('x', 'y', 'z', n);
}
Mein Problem ist, daß ich jetzt eine Ausgabe machen muß, die mir nur ausgibt, wie viele Durchläufe ich brauche um zu dem Ende zu kommen.
Wie komme ich dahin?
Ich kapier das irgendwie nicht...
Ich habe es schon probiert mit Count, aber da werden dann nur alle Züge ausgegeben, nicht nur der letzte (d.h. er zählt hoch bis z.B. 15 und gibt nicht nur 15 aus).
Mit welcher Funktion kann ich das hin bekommen?
Vielen lieben Dank!!
Taiko