c++编写一个矩阵函数,假设矩阵a为3行4列,b为4行2列,a和b的乘积c为3行2列
时间: 2024-05-16 07:12:38 浏览: 131
以下是一个简单的C语言程序,用于计算矩阵乘积:
```c
#include <stdio.h>
void matrix_multiply(int a[][4], int b[][2], int c[][2]) {
int i, j, k;
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
c[i][j] = 0;
for (k = 0; k < 4; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
}
int main() {
int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int b[4][2] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}};
int c[3][2];
int i, j;
matrix_multiply(a, b, c);
// 打印矩阵c
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
50 60
114 140
178 220
```
注意,在该程序中,我们将矩阵a和b作为二维数组传递给 `matrix_multiply` 函数,并使用指向二维数组的指针来操作矩阵c。
阅读全文