c语言 矩阵的乘法 动态二维数组形式

2022-08-13 社会 74阅读

#include
#include
int main(void)
{
int m,g,n;
int i,j,k;
printf("请输入第一个矩阵的行数和列数:\n");
scanf("%d%d",&m,&g);
    printf("请输入第二个矩阵的列数(该矩阵行数等于第一个矩阵的列数):\n");
scanf("%d",&n);
int **a=NULL;
a=(int**)malloc(m*sizeof(int*));
for(i=0;ia[i]=(int*)malloc(g*sizeof(int));
printf("请输入第一个矩阵中的元素:\n");
for(i=0;ifor(j=0;j   scanf("%d",&a[i][j]);
int **b=NULL;
b=(int**)malloc(g*sizeof(int *));
for(i=0;ib[i]=(int*)malloc(n*sizeof(int));
printf("请输入第二个矩阵中的元素:\n");
for(i=0;ifor(j=0;j   scanf("%d",&b[i][j]);
int **result=NULL;
result=(int**)malloc(m*sizeof(int*));
for(i=0;iresult[i]=(int*)malloc(n*sizeof(int));
for(i=0;ifor(j=0;j   result[i][j]=0;
for(i=0;ifor(j=0;j   for(k=0;k   result[i][j]+=a[i][k]*b[k][j];
printf("结果:\n");
for(i=0;i{
for(j=0;j   printf("]",result[i][j]);
printf("\n");
}
    for(i=0;i   {
free(a[i]);
a[i]=NULL;
free(result[i]);
result[i]=NULL;
}
free(a);
a=NULL;
free(result);
result=NULL;
for(i=0;i{free(b[i]);
b[i]=NULL;
}
free(b);
b=NULL;
return 0;
}

截图

   

#include
#include
int main(void)
{
int m,g,n;
int i,j,k;
printf("请输入第一个矩阵的行数和列数:\n");
scanf("%d%d",&m,&g);
    printf("请输入第二个矩阵的列数(该矩阵行数等于第一个矩阵的列数):\n");
scanf("%d",&n);
double **a=NULL;
a=(double**)malloc(m*sizeof(double*));
for(i=0;ia[i]=(double*)malloc(g*sizeof(double));
printf("请输入第一个矩阵中的元素:\n");
for(i=0;ifor(j=0;j   scanf("%lf",&a[i][j]);
double **b=NULL;
b=(double**)malloc(g*sizeof(double *));
for(i=0;ib[i]=(double*)malloc(n*sizeof(double));
printf("请输入第二个矩阵中的元素:\n");
for(i=0;ifor(j=0;j   scanf("%lf",&b[i][j]);
double **result=NULL;
result=(double**)malloc(m*sizeof(double*));
for(i=0;iresult[i]=(double*)malloc(n*sizeof(double));
for(i=0;ifor(j=0;j   result[i][j]=0;
for(i=0;ifor(j=0;j   for(k=0;k   result[i][j]+=a[i][k]*b[k][j];
printf("结果:\n");
for(i=0;i{
for(j=0;j   printf("%5g",result[i][j]);
printf("\n");
}
    for(i=0;i   {
free(a[i]);
a[i]=NULL;
free(result[i]);
result[i]=NULL;
}
free(a);
a=NULL;
free(result);
result=NULL;
for(i=0;i{free(b[i]);
b[i]=NULL;
}
free(b);
b=NULL;
return 0;
}

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com