// Chap 5, p 207
#include 

void Towers(int Count, char Source, char Dest, char Spare)
{
   if (Count == 1)
   {  cout << "Move disk from pole " << Source
           << " to pole " << Dest << endl;
   }
   else
   {  Towers(Count-1, Source, Spare, Dest);  // Point X
      Towers(1, Source, Dest, Spare);        // Point Y
      Towers(Count-1, Spare, Dest, Source);  // Point Z
   }  // end if
}  // end Towers

//******SAMPLE MAIN PROGRAM******
main()
{  int Rings = 3;
   cout << "\nTowers of Hanoi solution with " << Rings << " Rings:\n";
   Towers(Rings, 'A', 'B', 'C');
   return 0;
}

    Source: geocities.com/siliconvalley/program/2864/ds/CHAP5

               ( geocities.com/siliconvalley/program/2864/ds)                   ( geocities.com/siliconvalley/program/2864)                   ( geocities.com/siliconvalley/program)                   ( geocities.com/siliconvalley)