实现矩阵(3行、3列)的转置。
例如,若输入下面的矩阵:
100 200 300
400 500 600
700 800 900
则程序输出:
100 400 700
void fun(int array[3][3])
{
int i,j,t;
for(i=0;i<3;i++) /*将右上三角和左下三角对换,实现行列互换*/
for(j=i+1;j<3;j++)
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
思路:要实现矩阵转置,即将右上角数组元素和左下角数组元素对换,本题通过数组元素对换方法,完成矩阵转置操作。因为对矩阵转置后仍然存回其本身,所以只能循环矩阵中的一个角(本程序是右上半三角)。控制有上班三角的方法是在内层循环中循环变量j从i+1或i开始。