标签:data define ace cout image 参数 std 初始 朋友
完成一个矩阵类,可以存放二维数据,在构造函数中通过参数指定行数和列数,具有矩阵转置的功能和显示数据的功能。要求实现该矩阵类,使得主函数中的测试代码可以正确运行并得到正确的结果。
实现矩阵类
/* 请在这里填写答案 */
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 <iostream>
#include <cstdio>
#include <cstring>
#define a 2262
using namespace std;
class Matrix{
public:
double b;
double c;
int d[a][a];
Matrix(int e, int f){ b = e;c = f;}
void show(){
for(int g = 0; g < b; g++){
for(int h = 0; h < c; h++){
cout << " " << d[g][h];
} cout << "\n";
}
}
void input(){ for(int i = 0; i < b; ++i){ for(int j = 0; j < c; ++j){cin >> d[i][j];}}}
void transform(){
int x[10][10];
for(int k = 0; k < b; ++k){
for(int l = 0; l < c; ++l){ x[l][k] = d[k][l];}
}
for(int i = 0; i < c; ++i){
for(int j = 0; j < b; ++j){ x[j][i] = d[i][j]; }
} int z = c; c = b; b = z; }
};
很多朋友和我说提交结果不对, 请注意我选择的编译器(C++11), 不要拿 C
的编译器, 更有甚者拿 Java
编译器问我为啥编译错误.
如果有其他问题, 欢迎下方留言, 看到全力解决.
标签:data define ace cout image 参数 std 初始 朋友
原文地址:https://www.cnblogs.com/swyw/p/12378691.html