问题 I: 例题6-4 矩阵转置
题目描述
将一个2行3列的矩阵(二维数组)行列互换,存储到另一个3行2列的矩阵中。
要求以整型数据为例来解答。
输入
输入2行数据,每行3个整数,以空格分隔。
输出
行列互换后的矩阵,3行,每行2个数据,以空格分隔。
样例输入
1 2 3
4 5 6
样例输出
1 4
2 5
3 6
提示:
该题用一个一维数组或是一个二维数组就能轻易实现,但按照题意须用到数组转置,故参考代码使用两个二维数组实现。
参考代码:
# include<stdio.h>
int main()
{
int arr1[2][3] = {0};
int arr2[3][2] = {0};
int i, j;
for(i = 0; i < 2; ++i)
{
for(j = 0; j < 3; ++j)
{
scanf("%d", &arr1[i][j]);
}
}
for(i = 0; i < 2; ++i)
{
for(j = 0; j < 3; ++j)
{
arr2[j][i] = arr1[i][j];
}
}
for(i = 0; i < 3; ++i)
{
for(j = 0; j < 2; ++j)
{
printf("%d ", arr2[i][j]);
}
printf("\n");
}
return 0;
}