 Here is simple program explaining implementation of Tower of Hanoi algorithm using recursion in C++.

First we need to know that what are the Rules of Tower of Hanoi:

• Only a single disc is allowed to be transferred at a time.
• Each transfer or move should consists of taking the upper disk from one of the stack and then placing it on the top of another stack i.e. only a top most disk on the stack can be moved.
• Larger disk cannot be placed over smaller disk; placing of disk should be in increasing order.

A, B and are rods or pegs and n is the total number of discs, 1 is the largest disk and 5 is the smallest one.

1. Move n-1 discs from rod A to B using C as intermediate rod.
2. Move nth disc from A to C rod.
3. Move n-1 disc from B to C using A as intermediate rod.

In the program source code, tower_fun() is a recursive function with four arguments namely n, tx, ty and tz.

## Main program: When you will run the code you will see a line in console

“Enter the no. of disks::”. You need to give number of disks you want to put in in A rod at program initial time. tower obj(no); By this line you will create  an object of class tower and initialize the number of disks using variable “no”.

obj.disp_tower(); This line will call tower classes function disp_tower() and it will display initial values in A rod. Example. Let’s we give tower obj(3); then disp_tower() function will print 3, 2, 1 obj.tower_fun(no,1,2,3); This line will call tower_fun() function with four parameters and it’s our main function and recursive function.

Recursive function calls itself until the condition is true or is a potential cycle of function calls. ## Download Source Code Implementation of Tower of Hanoi algorithm using recursion in C++

[sociallocker]
Download Source Code Implementation of Tower of Hanoi algorithm using recursion in C++
Password: codewithc.com
[/sociallocker]