矩阵转置的几种方法:
假设我有一个4X5的矩阵和一个5X4的空矩阵↓
1、
1 void transposeMatrix (int array1[4][5],int array2[5][4]) 2 { 3 int i = 0; j = 0; 4 for (i = 0; i < 4; i++ for (j = 0; k < 5; j++) 6 array2[j][i] = array1[i][j]; 7 }
最简单的方法,在内层循环把array2的j和i位置对调,然后赋值,实现行为列,列为行。
2、
for (i = 0; i < n; i++) a[i / (n / 2)][i % (n / 2)] = array0[i];
这里的array0是一个一维数组,事先已经将array1中的所有元素都顺序赋值在其中了,
n是array0数组的长度。
n除以2,表示a将会被赋值为一个2X(n/2)的二维数组。
如果n的除数为几,赋值后二维数组的行就是几。
时间: 2024-10-08 08:19:01