我要实现4×4的矩阵转置。
#include <iostream.h>
#include <iomanip.h>
void Change (int (*p)[4])
{
int t,i,j;
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
{t=*(*(p+i)+j);
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=t;
}
}
}
void main()
{
int a[4][4],i,j;
for (i=0;i<4;i++)
{
for (j=0;j<4;j++)
{ cout<<"a["<<i+1<<"]["<<j+1<<"]=";
cin>>a[i][j];
cout<<endl;
}
}
cout<<"原始的矩阵是:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<setw(5)<<a[i][j];
cout<<endl;
}
cout<<"转置后的矩阵是:"<<endl;
Change(a);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<setw(5)<<a[i][j];
cout<<endl;
}
}