C 转置矩阵输出不正确
我试图将5x4矩阵转换为4x5矩阵,但输出不匹配,我不知道我的逻辑中的问题在哪里。还存在打印初始矩阵的问题。我认为问题可能在于我如何访问矩阵中的每个值 这是我的密码:C 转置矩阵输出不正确,c,matrix,C,Matrix,我试图将5x4矩阵转换为4x5矩阵,但输出不匹配,我不知道我的逻辑中的问题在哪里。还存在打印初始矩阵的问题。我认为问题可能在于我如何访问矩阵中的每个值 这是我的密码: #include <stdio.h> int main() { int i,j; int temp; int array[5][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16}, {17,18,19,20}}; for(i
#include <stdio.h>
int main()
{
int i,j;
int temp;
int array[5][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16}, {17,18,19,20}};
for(i=0; i<4; i++);
{
for(j=0; j<5; j++);
{
printf("%d ", array[i][j]);
}
}
printf("\n");
for(i=0; i<4; i++)
{
for(j=0; j<5; j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
printf("%d ",array[i][j]);
}
printf("\n");
}
return(0);
}
将非正方形2d矩阵转置到位并不是一个简单的操作。试着用你的算法在一张纸上转置一个2x3得到一个3x2。如果你是有系统的,你很快就会发现哪里出了问题。@Gene是的,我现在意识到了这个问题,我用初始数组和第二个空数组重新编写了程序,它工作得很好。非常感谢。
0
1 5 9 13 17
5 6 10 14 18
9 10 11 15 19
13 14 15 16 20