C++上机题目复习及答案2(60 页)Good is good, but better carries it.精益求精,善益求善。第十周上机题目题目:1. 建立一个矩阵类 Array,存储一个 n×n 矩阵并能完成矩阵转置运算。要求如下:(1)私有成员数据int *x:指向存储一个 n×n 矩阵值的内存区域(二维数组作为一维数组存储)int n:存储矩阵行数(2)公有成员函数构造函数:用参数指定的值或缺省值 3 初始化 n,并用 n 的值为矩阵动态申请内存空间;析构函数:释放对象存储矩阵时占用的内存空间;viod input(int *a):将一个矩阵赋值给对象中的数组。void print():按行输出矩阵的值。void change():转置矩阵。编写一个程序测试该类。定义对象 A,将一个矩阵存入 A 中,并输出矩阵的值,转置对象 A 中的矩阵并输出,使用以下测试数据:A= A 转置后的矩阵=#include#define N 3class Array{int *x; //指向存储一个 n×n 矩阵值的内存区域(二维数组作为一维数组存储)int n; //存储矩阵行数public:Array(int s=3){n=s;x=new int[N*N];}void input(int *a);//将一个矩阵赋值给对象中的数组。void print();//按行输出矩阵的值。void change();//转置矩阵。~Array(){if(x) delete []x;}};void main(){int a[N][3];int i,j;cout<<"请输入"<>a[i][j];}Array d(N);d.input(a[0]);cout<<"原始数组为:\n";d.print();d.change();cout<<"转置后的数组为:\n";d.print();}void Array::input(int *a){for(int i=0;i