使用C++语言,尽可能使用类与对象的知识编写一个程序实现矩阵的加减乘除四则运算的功能
时间: 2024-03-22 14:37:53 浏览: 71
以下是一个使用类与对象的C++程序,可以实现矩阵的加减乘除四则运算的功能。该程序定义了一个矩阵类,包含了矩阵的行列数、元素等信息,以及矩阵加减乘除的成员函数。
```c++
#include<iostream>
using namespace std;
const int MAXN = 100;
class Matrix{
private:
int m, n;
int data[MAXN][MAXN];
public:
Matrix(int _m, int _n){
m = _m;
n = _n;
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
data[i][j] = 0;
}
}
}
Matrix(int _m, int _n, int _data[MAXN][MAXN]){
m = _m;
n = _n;
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
data[i][j] = _data[i][j];
}
}
}
Matrix operator+(const Matrix& other){
Matrix res(m, n);
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
res.data[i][j] = data[i][j] + other.data[i][j];
}
}
return res;
}
Matrix operator-(const Matrix& other){
Matrix res(m, n);
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
res.data[i][j] = data[i][j] - other.data[i][j];
}
}
return res;
}
Matrix operator*(const Matrix& other){
Matrix res(m, other.n);
for(int i = 0; i < m; i++){
for(int j = 0; j < other.n; j++){
res.data[i][j] = 0;
for(int k = 0; k < n; k++){
res.data[i][j] += data[i][k] * other.data[k][j];
}
}
}
return res;
}
Matrix operator/(const Matrix& other){
Matrix res(m, n);
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
res.data[i][j] = data[i][j] / other.data[i][j];
}
}
return res;
}
void print(){
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
cout << data[i][j] << " ";
}
cout << endl;
}
}
};
int main(){
int m, n, p;
char op;
cin >> m >> n;
int A[MAXN][MAXN];
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
cin >> A[i][j];
}
}
Matrix A_mat(m, n, A);
cin >> op;
cin >> p;
int B[MAXN][MAXN];
for(int i = 0; i < m; i++){
for(int j = 0; j < p; j++){
cin >> B[i][j];
}
}
Matrix B_mat(m, p, B);
Matrix C_mat(m, n);
switch(op){
case '+':
C_mat = A_mat + B_mat;
C_mat.print();
break;
case '-':
C_mat = A_mat - B_mat;
C_mat.print();
break;
case '*':
C_mat = A_mat * B_mat;
C_mat.print();
break;
case '/':
C_mat = A_mat / B_mat;
C_mat.print();
break;
default:
cout << "Invalid operator!" << endl;
break;
}
return 0;
}
```
在此程序中,我们定义了一个矩阵类Matrix,包含了矩阵的行列数、元素等信息,以及矩阵加减乘除的成员函数。在主函数中,我们首先读取两个矩阵的行列数和矩阵元素,然后根据输入的运算符进行相应的运算,并输出结果矩阵。值得注意的是,在类中我们重载了运算符,使得矩阵加减乘除的操作变得简单易用。
阅读全文