Friday, 24 July 2015

C++ Program to Solve Tower-of-Hanoi Problem using Recursion

Leave a Comment
This C++ Program uses recursive function & solves the tower of hanoi. The tower of hanoi is a mathematical puzzle. It consists of threerods, and a number of disks of different sizes which can slideonto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top. We have to obtain the same stack on the third rod.

Here is the source code of the C program for solving towers of hanoi.

Code:

#include<iostream>
using namespace std;

void towers(int, char, char, char);

int main()
{
    int num;

    cout<<"Enter the number of disks : ";
    cin>>num;
    cout<<"The sequence of moves involved in the Tower of Hanoi are :\n";
    towers(num, 'A', 'C', 'B');
    return 0;
}

void towers(int num, char frompeg, char topeg, char auxpeg)
{
    if (num == 1)
    {
        cout<<"\n Move disk 1 from peg"<<frompeg<<"to peg "<< topeg;
        return;
    }
    towers(num - 1, frompeg, auxpeg, topeg);
    cout<<"\n Move disk "<<num<<"from peg"<<frompeg<<" to peg "<<topeg;
    towers(num - 1, auxpeg, topeg, frompeg);

}

Output:


If You Enjoyed This, Take 5 Seconds To Share It
Post a Comment

Labels

Additional Questions Advantages of C Language Advantages of C over C++ and naming them array programs arrays Basic Problems c language projects C plus plus project C Primer Plus c programming sample projects C programs C Projects C Structures C Tutorials C/C++ Shapes C++ Basic Problems C++ Books Solution C++ Functions C++ Language C++ Loops and Decisions C++ Program Examples C++ Programs c++ projects C++ Shapes Code C++ Structures C++ Tips and Tricks C++ Tutorials Control Structures CPP Enum CPP Pointers CPP Vector cppexamples CppStruct Cryptography DataStructures difference between a keyword and a user-defined identifier Disadvantages of C Language Ds malik Ds malik c++ programming Chapter 2: Basic Elements of C++ Solution Ds malik c++ programming Chapter 4: Control Structures I (Selection) Solution else if nested if File Handling in C++ fstream History of C language how to learn c language how to learn c programming Identifiers if statement ifstream language c learn c programming Learn C++ Linked List LinkedList list of all the C++ keywords Loops Loops practice using shapes Magic Squares Puzzle without using Recursion MathProblems nested loop Object Oriented Programming in C++ by Robert Lafore - 4th Edition Chapter 1 Object Oriented Programming in C++ by Robert Lafore - 4th Edition Chapter 2 Object Oriented Programming in C++ by Robert Lafore - 4th Edition Chapter 3 Object Oriented Programming in C++ by Robert Lafore - 4th Edition Chapter 4 Object-Oriented Programming in C++ Fourth Edition Solution Manual ofstream OOP OOP Quiz oop1ch2e oop1ch3e output QTProgramming Recursion Simple C plus plus Programs solution Sorting Strings Temperature 5 Scale Converter Tools of the trade Urdu Training Videos