题目描述 有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符+,使之能够用于矩阵相加。 重载 << 和 >>使之能够用于矩阵的输入输出。 输入 按行方式依次输入矩阵a和b 输出 输出求和后的矩阵 注意,每行最后有一个空格,漏掉或多输出将判格式错误。 样例输入 复制 1 2 3 4 5 6 1 2 3 4 5 6 样例输出 复制 2 4 6 8 10 12
时间: 2023-12-29 22:06:06 浏览: 78
python 两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵(示例)
5星 · 资源好评率100%
好的,以下是您所需的代码实现:
```
#include <iostream>
using namespace std;
class Matrix {
private:
int data[2][3]; // 2行3列的矩阵
public:
Matrix() { // 构造函数
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
data[i][j] = 0;
}
}
}
friend Matrix operator+(const Matrix& a, const Matrix& b) { // 重载运算符+
Matrix c;
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
c.data[i][j] = a.data[i][j] + b.data[i][j];
}
}
return c;
}
friend istream& operator>>(istream& in, Matrix& a) { // 重载运算符>>
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
in >> a.data[i][j];
}
}
return in;
}
friend ostream& operator<<(ostream& out, const Matrix& a) { // 重载运算符<<
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
out << a.data[i][j] << " ";
}
out << endl;
}
return out;
}
};
int main() {
Matrix a, b;
cin >> a >> b;
Matrix c = a + b;
cout << c;
return 0;
}
```
在这个程序中,我们定义了一个名为 `Matrix` 的类,其中包含了一个 2 行 3 列的矩阵,并且还重载了运算符+、>> 和 <<,使之能够用于矩阵相加和输入输出。在主程序中,我们定义了两个 `Matrix` 对象 a 和 b,通过重载的运算符>> 对其进行输入,然后将两个矩阵相加,并将结果输出,通过重载的运算符<< 进行输出。
阅读全文