for(intj=i;j
{
if(i!
=j)
{
k=arg[i][j];arg[i][j]=arg[j][i];arg[j][i]=k;
}
}
}
voidmain()
{
double*q;
doublea[][]={1.0,2.0,3.0,4.0};//初始化数组
q=a[0][0];
Turarr(q,2,2);
}
20、汉诺塔(Hanoi)是在欧洲比较流行的一种游戏。
游戏的要求是这样的:
设有A,B,C三个竿,A竿上有若干个由大到小的穿心圆盘,大的圆盘在下面,小的圆盘在上面,B和C都是空杆,请你把A杆上的圆盘都倒到C杆上,但在倒盘的过程中不允许大的圆盘压在小的圆盘之上(如下图所示)。
请用递归函数方法实现该程序。
答:
#include
voidhanoi(intn,charp,charq,charr)
{
if(n==1)
cout<<"move"<
else
{
hanoi(n-1,p,r,q);
cout<<"move"<
hanoi(n-1,q,p,r);
}
}
voidmain()
{
intn;
chara='A';
charb='B';
charc='C';
cout<<"Enterthenumberofdisks:
";
cin>>n;
cout<<"Thesolutionforn="<hanoi(n,a,b,c);
}