【15分】E. 矩阵转置(函数)
题目描述
写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
输入
一个3x3的矩阵
输出
转置后的矩阵
输入样例1
1 2 3
4 5 6
7 8 9
输出样例1
1 4 7
2 5 8
3 6 9
代码
#include <iostream>
#include <cstring>
using namespace std;
void change(int *arr1,int *arr2,int m,int n)
{
for(int i = 0;i < m;i ++)
for(int j = 0;j < n;j ++)
*(arr2 + j * m + i) = *(arr1 + i * n + j);
}
int main( )
{
int arr1[3][3], arr2[3][3];
for(int i = 0;i < 3;i ++)
for(int j = 0;j < 3;j ++)
cin >> arr1[i][j];
change(arr1[0],arr2[0],3,3);
for(int i = 0;i < 3;i ++)
{
for(int j = 0;j < 3;j ++)
{
cout << arr2[i][j] << " ";
}
cout << endl;
}
return 0;
}