I have to write a program that the user enters the number of disks from tower 1 to tower 3. The rules are: only one disk can be moved at any time and no disk can be placed on top of a disk with a smaller diameter. All i have left to do is change my code so that it for each move it says e.g. disk 1 from tower 1 to tower 3. Also I need to print out how many moves it took. If you can help me, then thank you. Here is what I have:
#include <stdio.h>
void tower(int, int, int, int);
main()
{
int n;
printf("Enter the starting number of disks: ");
scanf("%d", &n);
tower(n, 1, 3, 2);
return 0;
}
void tower(int c, int start, int end, int temp)
{
if (c == 1) {
printf("%d --> %d\n", start, end);
return;
}
tower(c - 1, start, temp, end);
printf("%d --> %d\n", start, end);
tower(c - 1, temp, end, start);
}



LinkBack URL
About LinkBacks



