top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration

Facebook Login
Site Registration

Tower of Hanoi Program in C

0 votes
152 views

Please help me with the tower of hanoi program in C using recursion?

posted Aug 25, 2014 by anonymous

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button
Google me khoj le yaar.....Search in Google first......
That's why it was asked as anonymous

1 Answer

+1 vote
 
Best answer

In Tower of Hanoi we have to move all the disc from (assumes you have 3 tower namely A, B, C) tower A to tower C, in the same order as the disc are on tower A, with the help of tower B.

#include <stdio.h>

void swap_towers(int, char, char, char);  //prototype for my recursive function.

int main()
{
    int num_disk;

    printf("Enter the number of disks :  ");
    scanf("%d", &num_disk);

    printf("Movement of disks (i.e form Tower A to Tower B) involved in the Tower of Hanoi are :\n");

    swap_towers(num_disk, 'A', 'C', 'B');

    return 0;
}

void swap_towers(int num, char from_tower, char to_tower, char ex_tower)
{
    if (num == 1) // Condition to stop the recursion.
    {
        printf("\nMove disk 1 from Tower %c to Tower %c", from_tower, to_tower);
        return;
    }

    swap_towers(num - 1,  from_tower, ex_tower, to_tower);

    printf("\nMove disk %d from Tower %c to Tower %c", num, from_tower, to_tower);

    swap_towers(num - 1, ex_tower, to_tower, from_tower);
}
answer Aug 25, 2014 by Arshad Khan
Contact Us
+91 9880187415
sales@queryhome.net
support@queryhome.net
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Bangalore-560102
Karnataka INDIA.
QUERY HOME
...