欢迎来到天天文库
浏览记录
ID:51065355
大小:39.52 KB
页数:5页
时间:2020-03-09
《数据结构矩阵的相乘.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#defineMAXSIZE20usingnamespacestd;typedefstruct//三元组的定义{introw;//非0元的行下标intcol;//非0元的列下标inte;//非0元的素值}Triple;typedefstruct//矩阵的定义{Tripledata[MAXSIZE];//非0元三元组表intm,n,len;//矩阵的行数,列数和非0元个数}TSMatrix;voidinitMatrix(TSMatrix&A)//矩阵初始化函数,参数类型为矩阵{A.len=0
2、;A.m=0;A.n=0;for(inti=0;i>A.m>>A.n>>A.len;//输入矩阵的行、列值及非0元的个数for(inti=0;i3、元的值{cout<<"请输入第:"<>A.data[i].row;cin>>A.data[i].col;cin>>A.data[i].e;}}intsearch(TSMatrixA,intm,intn)//找到m行n列元素在A的三元组表中的位置。若找到返回值,若找不到返回-1{intflag=-1;for(inti=0;i4、i;//将此元素位置值赋给flagbreak;}}returnflag;}voidmult(TSMatrixA,TSMatrixB,TSMatrix&C)//矩阵相乘函数{inti=0;intj=0;if(A.n==B.m){C.m=A.m;C.n=B.n;for(i=0;i5、col);//调用搜索函数找到row行和col列在c的顺序表中的位置if(flag==-1){C.data[C.len].col=B.data[j].col;C.data[C.len].row=A.data[i].row;C.data[C.len++].e=B.data[j].e*A.data[i].e;}//end_if(flag==-1)elseC.data[flag].e=C.data[flag].e+A.data[i].e*B.data[j].e;}//end_if(A.data[i].col==B.data[j].6、row)}//end_for(j=0;j7、1]=A.data[k].e;k++;}for(i=0;i8、";//控制打印格式for(j=0;j9、"<10、---A*B"<
3、元的值{cout<<"请输入第:"<>A.data[i].row;cin>>A.data[i].col;cin>>A.data[i].e;}}intsearch(TSMatrixA,intm,intn)//找到m行n列元素在A的三元组表中的位置。若找到返回值,若找不到返回-1{intflag=-1;for(inti=0;i4、i;//将此元素位置值赋给flagbreak;}}returnflag;}voidmult(TSMatrixA,TSMatrixB,TSMatrix&C)//矩阵相乘函数{inti=0;intj=0;if(A.n==B.m){C.m=A.m;C.n=B.n;for(i=0;i5、col);//调用搜索函数找到row行和col列在c的顺序表中的位置if(flag==-1){C.data[C.len].col=B.data[j].col;C.data[C.len].row=A.data[i].row;C.data[C.len++].e=B.data[j].e*A.data[i].e;}//end_if(flag==-1)elseC.data[flag].e=C.data[flag].e+A.data[i].e*B.data[j].e;}//end_if(A.data[i].col==B.data[j].6、row)}//end_for(j=0;j7、1]=A.data[k].e;k++;}for(i=0;i8、";//控制打印格式for(j=0;j9、"<10、---A*B"<
4、i;//将此元素位置值赋给flagbreak;}}returnflag;}voidmult(TSMatrixA,TSMatrixB,TSMatrix&C)//矩阵相乘函数{inti=0;intj=0;if(A.n==B.m){C.m=A.m;C.n=B.n;for(i=0;i5、col);//调用搜索函数找到row行和col列在c的顺序表中的位置if(flag==-1){C.data[C.len].col=B.data[j].col;C.data[C.len].row=A.data[i].row;C.data[C.len++].e=B.data[j].e*A.data[i].e;}//end_if(flag==-1)elseC.data[flag].e=C.data[flag].e+A.data[i].e*B.data[j].e;}//end_if(A.data[i].col==B.data[j].6、row)}//end_for(j=0;j7、1]=A.data[k].e;k++;}for(i=0;i8、";//控制打印格式for(j=0;j9、"<10、---A*B"<
5、col);//调用搜索函数找到row行和col列在c的顺序表中的位置if(flag==-1){C.data[C.len].col=B.data[j].col;C.data[C.len].row=A.data[i].row;C.data[C.len++].e=B.data[j].e*A.data[i].e;}//end_if(flag==-1)elseC.data[flag].e=C.data[flag].e+A.data[i].e*B.data[j].e;}//end_if(A.data[i].col==B.data[j].
6、row)}//end_for(j=0;j7、1]=A.data[k].e;k++;}for(i=0;i8、";//控制打印格式for(j=0;j9、"<10、---A*B"<
7、1]=A.data[k].e;k++;}for(i=0;i8、";//控制打印格式for(j=0;j9、"<10、---A*B"<
8、";//控制打印格式for(j=0;j9、"<10、---A*B"<
9、"<10、---A*B"<
10、---A*B"<
此文档下载收益归作者所有