1.方的阵转置 (10分) c++

编写一个类用于处理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;
}