void Trans(int *matrix[][])
{
for(int i=0;i<3;i++)
for(int j=0;j {
int t=matrix[i][j];
matrix[i][j]=matrix[j][i];
matrix[j][i]=t;
}
}
对一个矩阵进行转置,只需要对其下三角部分进行处理,即第一行不处理,第二行处理第一个,第三行处理第1和第2个,以此类推。
#include
void
fun(int
a[3][3])
{
for(int
i=0;i<3;i++)
for(int
j=0;j<3;j++)
if(i
int
tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
void
main()
{
int
a[3][3]={{0,1,2},{3,4,5},{6,7,8}};
fun(a);
for(int
i=0;i<3;i++)
for(int
j=0;j<3;j++)
printf("%d
",a[i][j]);
}
#include
void f(int a[3][4],int b[4][3],int x,int y)
{
int i,j;
printf("The data in a:\n");
for(i=0;i
b[j][i]=a[i][j];}
printf("\n");
}
printf("The data in b:\n");
for(i=0;i
printf("\n");
}
}
void main()
{
int i=3,j=4,b[4][3];
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
f(a,b,3,4);
}
#include
void fun(int a[3][3])
{
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
if(i
int tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
void main()
{
int a[3][3]={{0,1,2},{3,4,5},{6,7,8}};
fun(a);
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
printf("%d ",a[i][j]);
}