编写实现矩阵的加法,矩阵的行和列由用户输入,主函数中完成两个矩阵的初始化,调用矩阵加法函数,将计算结果存储第一个和矩阵中
时间: 2024-02-02 18:05:10 浏览: 58
好的,以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
// 矩阵加法函数
void matrixAddition(int **a, int **b, int **c, int rows, int cols) {
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
c[i][j] = a[i][j] + b[i][j]; // 按照矩阵加法规则计算
}
}
}
int main() {
int rows, cols;
// 读入矩阵行列数
cout << "请输入矩阵的行数和列数:";
cin >> rows >> cols;
// 动态申请内存空间
int **a = new int*[rows];
int **b = new int*[rows];
int **c = new int*[rows];
for(int i = 0; i < rows; i++) {
a[i] = new int[cols];
b[i] = new int[cols];
c[i] = new int[cols];
}
// 读入第一个矩阵
cout << "请输入第一个矩阵的元素:\n";
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
cin >> a[i][j];
}
}
// 读入第二个矩阵
cout << "请输入第二个矩阵的元素:\n";
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
cin >> b[i][j];
}
}
// 调用矩阵加法函数
matrixAddition(a, b, c, rows, cols);
// 打印结果
cout << "两个矩阵相加的结果为:\n";
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
cout << c[i][j] << " ";
}
cout << endl;
}
// 释放内存空间
for(int i = 0; i < rows; i++) {
delete[] a[i];
delete[] b[i];
delete[] c[i];
}
delete[] a;
delete[] b;
delete[] c;
return 0;
}
```
该程序首先读入矩阵的行数和列数,然后动态申请内存空间,读入两个矩阵的元素,并调用矩阵加法函数计算结果。最后打印结果并释放内存空间。
阅读全文