矩阵相乘C语言实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

矩阵相乘C语言实现程序本程序的思想用到了双循环嵌套,以及动态分配内存的知识。#includestdio.h//b[j][k]*c[k][i]=a[j][i]voidmatrix(int**b,int**c,int**a,intnx,intny,intnk){inti,j,k;for(j=0;jny;j++)for(i=0;inx;i++)a[j][i]=0;for(j=0;jny;j++){for(i=0;inx;i++){for(k=0;knk;k++)a[j][i]+=b[j][k]*c[k][i];};};}voidmain(){inti,j,k,tmp;intb_row,b_col;intc_row,c_col;inta_row,a_col;int**b,**c,**a;printf(pleaseenterb_rowb_colofmatrixB\n);scanf(%d%d,&b_row,&b_col);c_row=b_col;printf(pleaseenterc_colofmatrixC\n);scanf(%d,&c_col);a_row=b_row;a_col=c_col;a=(int**)malloc(sizeof(int*)*a_row);for(j=0;ja_row;j++){a[j]=(int*)malloc(sizeof(int)*a_col);}b=(int**)malloc(sizeof(int*)*b_row);for(j=0;jb_row;j++){b[j]=(int*)malloc(sizeof(int)*b_col);}c=(int**)malloc(sizeof(int*)*c_row);for(j=0;jc_row;j++){c[j]=(int*)malloc(sizeof(int)*c_col);}if(!c[c_row-1]){printf(noenoughtmemory\n);exit(0);}printf(Pleaseinputintmatrixb[%d][%d]\n,b_row,b_col);for(j=0;jb_row;j++)for(i=0;ib_col;i++){scanf(%d,&tmp);b[j][i]=tmp;}printf(Pleaseinputintmatrixc[%d][%d]\n,c_row,c_col);for(j=0;jc_row;j++)for(i=0;ic_col;i++){scanf(%d,&tmp);c[j][i]=tmp;}matrix(b,c,a,a_col,a_row,b_col);for(j=0;ja_row;j++){for(i=0;ia_col;i++)printf(%d,a[j][i]);printf(\n);}}}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功