gpt4 book ai didi

c - c 中的矩阵乘法

转载 作者:行者123 更新时间:2023-11-30 20:32:56 24 4
gpt4 key购买 nike

我正在尝试将 2 个矩阵 A 和 B 相乘,然后将结果存储在 c 中。矩阵存储在一维数组中。谁能告诉我我的代码有什么问题,为什么我不能打印矩阵 a 和 b 相乘得到的结果。

#include <stdio.h>
#include <stdlib.h>
int main(){
int m, i, j, k, n, x;
double *A, *B, *C, sum;

//allocating dynamic memory
A= (double*)malloc(m*n*sizeof(double));
B= (double*)malloc(m*n*sizeof(double));
C= (double*)malloc(m*n*sizeof(double));

//initializing matrices with values
for(i =0; i< m*n; i++){
A[i] = 1.;
B[i] = 2.;

}
//Multiplying the matrices
for(i=0; i<m; i++ ){
for (j=0; j<n; j++){
sum =0;
for(k=0; k<n; k++){
sum+= A[i*n +k]* B[k*n +j];
C[i*n +j] = sum;
printf("matrix result %f\n", C[i*n +j]);
}
}
}
return 0;
}

最佳答案

您必须在使用任何变量之前对其进行初始化,因此在您的代码中,您需要将 mn 初始化为 2,因为这是二维矩阵。

关于c - c 中的矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46738232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com