เกม หอธานอย hanoi tower


อาจารย์สั่งให้เขียนโปรแกรมแก้ปัญหาหฮานอยส่ง
เขียนเสร็จก็ โพสซะว่าเสร็จแย้ว
#include<stdio.h>
#define MAX 12
int a[3][MAX]={{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0}};
int N = 3;
void movedish(int dish,char current,char to,char blank)
{
if(dish > 1)
{
movedish(dish-1,current,blank,to);
printf("move %c to %c\n",current,to);
movedish(dish-1,blank,to,current);
}
else
{
printf("move %c to %c\n",current,to);
}
}
void tmove(int current,int to)
{
int i=MAX-1,j=0;
while(a[current][i]==0)i–;
while(a[to][j]!=0)j++;
a[to][j] = a[current][i];
a[current][i] = 0;
}
void movedishS(int dish,int current,int to,int blank)
{
if(dish > 1)
{
movedishS(dish-1,current,blank,to);
tmove(current,to);
printDish(N);
printf("move %d to %d\n",current+1,to+1);
getchar();
movedishS(dish-1,blank,to,current);
}
else
{
tmove(current,to);
printDish(N);
printf("move %d to %d\n",current+1,to+1);
getchar();
}
}
void printspace(int n,char c)
{
int i;
for(i=0;i<n;i++)
printf("%c",c);
}
printDish(int n)
{
int i,j;
printspace(n+1,’ ‘);
printf("|");
printspace(2*n-1,’ ‘);
printf("|");
printspace(2*n-1,’ ‘);
printf("|");
for(i=1;i<=n;i++)
{
printf("\n");
printspace(2*n-(a[0][n-i]-1)/2-n+1,’ ‘);
if(a[0][n-i]!=0)
for(j=1;j<=a[0][n-i];j++)
printf("_");
else
printf("|");
printspace(2*n-(a[0][n-i]-1)/2-(a[1][n-i]-1)/2-1,’ ‘);
if(a[1][n-i]!=0)
for(j=1;j<=a[1][n-i];j++)
printf("_");
else
printf("|");
printspace(2*n-(a[1][n-i]-1)/2-(a[2][n-i]-1)/2-1,’ ‘);
if(a[2][n-i]!=0)
for(j=1;j<=a[2][n-i];j++)
printf("_");
else
printf("|");
}
printf("\n+");
printspace(6*n+1,’-');
printf("+\n");
printspace(n+1,’ ‘);
printf("1");
printspace(2*n-1,’ ‘);
printf("2");
printspace(2*n-1,’ ‘);
printf("3");
printf("\n+");
printspace(6*n+1,’-');
printf("+\n");

}
int main()
{
printf("Please input n:");
scanf("%d",&N);
getchar();
getchar();
int i;
for(i=0;i<N;i++)
a[0][i] = 2*N-1-2*i;
printDish(N);
movedishS(N,0,2,1);

return 1;
}

One thought on “เกม หอธานอย hanoi tower

  1. Pingback: รวบรวมสารบัญเรื่องที่เคยเขียนทั้งหมด | My com & My life

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Connecting to %s