1 第十周上机题目 题目: 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=1197642531 A 转置后的矩阵=1165943721 #include #define N 3 class 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