Kamis, 26 Maret 2009

Hanoi Tower Code

#include"stdio.h"
#include"stdlib.h"
#include"math.h"
#include"conio.h"


void hanoi(int n, char awal, char akhir, char hubung);

void main()

{

char c;
int n,x;

do
{

system("cls");

printf("\t\t\t======================\n");

printf("\t\t\t=Program Menara Hanoi=\n");

printf("\t\t\t======================\n");

printf("\n");

printf("\n");

printf("\n");

printf("Masukkan jumlah cakram menara hanoi = ");scanf("%d",&n);

x = pow(2,n)-1;

getch();

printf("\n");

printf("\n");

printf("Jumlah Perpindahan Yang Harus Dilakukan Adalah = %d \n",x);

printf("\n");

printf("\n");

getch();

hanoi(n, 'A', 'C', 'B');

printf("\n\n");

getch();

flushall();

printf("Apakah anda ingin mengulang (Y/T) ? ");scanf("%c",&c);


}while(c=='y'||c=='Y');

}


void hanoi(int n, char awal, char akhir, char hubung)

{

if(n==1)

printf("Pindahkan piringan 1 dari %c ke %c \n",awal,akhir);

else
{

hanoi(n-1, awal, hubung, akhir);

printf("Pindahkan piringan %d dari %c ke %c\n",n,awal,akhir);

hanoi(n-1, hubung, akhir, awal);

}

}

Tidak ada komentar: