c++函数计算两个矩阵相加
时间: 2023-09-20 10:09:25 浏览: 122
可以使用以下函数计算两个矩阵的加法,其中假设两个矩阵的维度相同:
```c++
void matrixAddition(int A[][MAX_SIZE], int B[][MAX_SIZE], int C[][MAX_SIZE], int n_rows, int n_cols) {
for(int i = 0; i < n_rows; i++) {
for(int j = 0; j < n_cols; j++) {
C[i][j] = A[i][j] + B[i][j];
}
}
}
```
其中,`A`、`B`、`C` 分别为两个矩阵和它们的和,`n_rows` 和 `n_cols` 分别为矩阵的行数和列数。在函数中,我们使用两重循环遍历矩阵中的所有元素,按照相应位置相加的规则,将结果存储到矩阵 `C` 中。
相关问题
C++生成代码实现两个矩阵相加
您好,可以使用以下代码实现两个矩阵相加,其中n为矩阵维度:
```c
#include <stdio.h>
#define n 3 //矩阵维度
void add_matrix(int a[][n], int b[][n], int c[][n]){ //函数定义,a,b为两个待相加的矩阵,c为相加后的矩阵
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 a[n][n]={{1,2,3},{4,5,6},{7,8,9}}; //定义矩阵a
int b[n][n]={{9,8,7},{6,5,4},{3,2,1}}; //定义矩阵b
int c[n][n]; //定义矩阵c,用于存放相加后的结果
add_matrix(a,b,c); //调用函数进行矩阵相加
printf("The result is:"); //输出结果
for(int i=0;i<n;i++){
printf("\n");
for(int j=0;j<n;j++){
printf("%d ",c[i][j]);
}
}
return 0;
}
```
希望能够帮到您!
c++二维数组用指针实现两个矩阵相加
可以使用指针实现两个二维数组的相加,具体实现方法如下:
```c
#include <stdio.h>
void addMatrix(int *a, int *b, int *c, int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
*(c + i * col + j) = *(a + i * col + j) + *(b + i * col + j);
}
}
}
void printMatrix(int *a, int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", *(a + i * col + j));
}
printf("\n");
}
}
int main() {
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int b[2][3] = {{7, 8, 9}, {10, 11, 12}};
int c[2][3];
addMatrix(&a[0][0], &b[0][0], &c[0][0], 2, 3);
printMatrix(&c[0][0], 2, 3);
return 0;
}
```
这段代码实现了两个二维数组 a 和 b 的相加,并将结果存储在 c 中。函数 addMatrix 中使用了指针来访问数组元素,函数 printMatrix 用于打印矩阵。在 main 函数中,我们先定义了两个二维数组 a 和 b,然后定义了一个二维数组 c 用于存储结果。最后调用 addMatrix 函数进行相加,再调用 printMatrix 函数打印结果。
阅读全文