6-4 可变大小矩阵 (10分)完成一个矩阵类,可以存放二维数据,在构造函数中通过参数指定行数和列数,具有矩阵转置的功能和显示数据的功能。要求实现该矩阵类,使得主函数中的测试代码可以正确运行并得到正确的结果。函数接口定义:实现矩阵类裁判测试程序样例:
/* 请在这里填写答案 */
int main(){
int r,c;
cin>>r>>c;
Matrix m(r,c); // 初始大小 2行3列
m.input();
cout<<“datas before:”<<endl;
m.show();
m.transform();
cout<<“datas after:”<<endl;
m.show();
}
输入样例:首先输入两个整数代表行数和列数,然后输入矩阵元素。3 2
1 2
3 4
5 6
输出样例:分别输出转置之前和之后的矩阵数据。例如:datas before:
1 2
3 4
5 6
datas after:
1 3 5
2 4 6
我的代码:
#include
using namespace std;
class Matrix{
static int n;//一定要是静态成员,然后在类外定义
int a,b;
public:
int d[100][100];
Matrix(int e,int f){
a=e; b=f;
}
void input(){
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
cin>>d[i][j];
}
}
}
void transform(){
int c;
c=a;
a=b;
b=c;
n=1;
}
void show(){
if(n==0){
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
cout<<" “<<d[i][j];
}
cout<<endl;
}}
else{for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
cout<<” "<<d[j][i];
}
cout<<endl;
}}
}
};
int Matrix::n=0;