写出计算矩阵A[5 3 5;3 7 4;7 9 8]与矩阵B[2 4 2;6 7 9;8 3 6]乘积的语句。
已帮助 人
回答
共1条回复-
int getvalue (TSMatrix t, int i,intj)//返回稀疏矩阵在i行j列的元素值 { int k= 0 ; while (k<t.nums) { if (t.data[k].r==i && t.data[k].c==j) return t.data[k].d; k++; } return 0 ; } bool MatMul (TSMatrix a,TSMatrix b,TSMatrix &c) { int i= 0 ,j= 0 ,k= 0 ,p= 0 ; ElemType s; if (a.cols!=b.rows) return false ; for (i= 0 ;i<a.rows;i++) for (j= 0 ;j<b.cols;j++) { s= 0 ; for (k= 0 ;k<b.cols;k++) s=s+getvalue(a,i,k)*getvalue(b,k,j); //每一行和每一列相乘累加。 if (s!= 0 ) { c.data[p].r=i;c.data[p].c=j;c.data[p].d=s; p++; } } c.cols=b.cols; c.rows=a.rows; c.nums=p; return true ; }

![写出计算矩阵A[5 3 5;3 7 4;7 9 8]与矩阵B[2 4 2;6 7 9;8 3 6]乘积的语句。](/uploads/allimg/6-2968845Q9.jpg)