编写一个类用于处理3×3矩阵转置,测试转置的效果,输出转置前后的矩阵。
函数接口定义:
根据要求写出类,并可以使得主函数正确运行,得到对应的结果。
/* 请在这里填写答案 */
在这里给出函数被调用进行测试的例子。例如:
int main(){
Matrix m;
m.input();
m.show();
m.transform();
m.show();
}
输入样例:
1 2 3
4 5 6
7 8 9
输出样例:
注意每个元素前面有一个空格字符。例如:
datas:
1 2 3
4 5 6
7 8 9
datas:
1 4 7
2 5 8
3 6 9
#include <stdio.h>
#include <string.h>
class Matrix{
public:
void input(){
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
scanf("%d",&arr[i][j]);
}
void show(){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++)
printf(" %d",arr[i][j]);
printf("\n");
}
}
void transform(){
int temp[3][3];
memcpy(&temp[0][0],&arr[0][0],sizeof(arr));
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
arr[i][j] = temp[j][i];
}
private:
int arr[3][3];
};
int main(){
Matrix m;
m.input();
m.show();
m.transform();
m.show();
return 0;
}