利用指针计算2个矩阵的和
时间: 2024-05-09 13:15:34 浏览: 71
假设有两个矩阵A和B,它们的行数和列数都相等,可以用指针计算它们的和。计算过程如下:
```c++
#include <iostream>
using namespace std;
const int MAX = 100;
void addMatrix(int a[][MAX], int b[][MAX], int c[][MAX], int n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
*(*(c+i)+j) = *(*(a+i)+j) + *(*(b+i)+j);
}
}
}
int main()
{
int n;
cout << "请输入矩阵的大小n:";
cin >> n;
int a[MAX][MAX], b[MAX][MAX], c[MAX][MAX];
cout << "请输入矩阵A:" << endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cin >> *(*(a+i)+j);
}
}
cout << "请输入矩阵B:" << endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cin >> *(*(b+i)+j);
}
}
addMatrix(a, b, c, n);
cout << "矩阵A和矩阵B的和为:" << endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
cout << *(*(c+i)+j) << " ";
}
cout << endl;
}
return 0;
}
```
在上面的代码中,`addMatrix`函数用于计算两个矩阵的和,`a`、`b`、`c`分别表示两个输入的矩阵和它们的和,`n`表示矩阵的大小。在计算过程中,使用了二维指针和双重循环遍历矩阵中的每个元素,分别将两个矩阵中对应位置的元素相加后存入和矩阵中。最后输出和矩阵即可。
阅读全文