C语言 ,求转置矩阵

2024-11-21 17:52:36
推荐回答(2个)
回答1:

根据数学定义可以知道,对于矩阵P,其第m行n列上的元素,是其转置矩阵的n行m列元素。

从此可以得出程序如下:

#define M 10
#define N 5 
//以10行5列为例,可以任意修改。
void convert(int a[M][N], int b[N][M])//求a的转置矩阵,结果存于b中。
{
    int i,j;
    for(i = 0; i         for(j = 0; j < N; j ++)
            b[j][i] = a[i][j];//转置运算。
}

回答2:

已通过测试,望采纳。
不懂追问哈
#include
#include

void fun(int array[3][3])
{
int array1[3][3];
int i,j,t;

for (i=0;i<3;i++)
{
for (j=0;j {
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}

}

void main()
{
int i, j;
int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};

for (i=0;i<3;i++)
{
for (j=0;j<3;j++)

printf("%d\t",array[i][j]);
printf("\n");

}

fun(array);

printf("converted array:\n");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
}