用c++编写程序,把M*N矩阵A加上矩阵A的转置,存放在矩阵B中
时间: 2023-06-13 12:02:50 浏览: 68
以下是用C语言编写的程序,实现将M*N矩阵A加上矩阵A的转置并存放在矩阵B中的功能:
```c
#include <stdio.h>
#define ROWS 3 // 矩阵A的行数
#define COLS 4 // 矩阵A的列数
int main() {
int A[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; // 定义矩阵A
int B[ROWS][COLS]; // 定义矩阵B
// 计算矩阵A的转置
int AT[COLS][ROWS];
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
AT[j][i] = A[i][j];
}
}
// 将矩阵A加上矩阵A的转置并存放在矩阵B中
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
B[i][j] = A[i][j] + AT[i][j];
}
}
// 输出矩阵B
printf("Matrix B:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", B[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个例子中,矩阵A的行数为3,列数为4。我们首先定义了矩阵A,并计算了矩阵A的转置存放在AT数组中。然后,我们将矩阵A加上矩阵A的转置并存放在矩阵B中。最后,我们输出矩阵B的值。