c语言矩阵相乘可以使用双重循环来实现。以下是一个简单的示例,其中matrixA和matrixB是两个二维数组,表示输入的两个矩阵,matrixC是用于存储结果的二维数组。
c#include <stdio.h>
#define ROWS_A 3
#define COLS_A 4
#define ROWS_B 4
#define COLS_B 5
#define ROWS_C 3
#define COLS_C 5
void matrixMultiply(int matrixA[ROWS_A][COLS_A], int matrixB[ROWS_B][COLS_B], int matrixC[ROWS_C][COLS_C]) {
int i, j, k;
for (i = 0; i < ROWS_C; i++) {
for (j = 0; j < COLS_C; j++) {
matrixC[i][j] = 0;
for (k = 0; k < COLS_A; k++) {
matrixC[i][j] += matrixA[i][k] * matrixB[k][j];
}
}
}
}
int main() {
int matrixA[ROWS_A][COLS_A] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int matrixB[ROWS_B][COLS_B] = {{13, 14, 怎么定义二维数组c语言15, 16, 17}, {18, 19, 20, 21, 22}, {23, 24, 25, 26, 27}, {28, 29, 30, 31, 32}};
int matrixC[ROWS_C][COLS_C] = {0};
matrixMultiply(matrixA, matrixB, matrixC);
int i, j;
for (i = 0; i < ROWS_C; i++) {
for (j = 0; j < COLS_C; j++) {
printf("%d ", matrixC[i][j]);
}
printf("\n");
}
return 0;
}
在上面的示例中,我们定义了三个宏常量ROWS_A、COLS_A、ROWS_B、COLS_B、ROWS_C和COLS_C,分别表示矩阵A、矩阵B和矩阵C的行数和列数。然后我们定义了一个名为matrixMultiply的函数,该函数接受三个二维数组作为参数,用于计算矩阵A和矩阵B的乘积,并将结果存储在矩阵C中。最后,在主函数中,我们定义了三个二维数组matrixA、matrixB和matrixC,并调用matrixMultiply函数来计算矩阵乘积。最后,我们使用双重循环打印出结果矩阵。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论