全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
# include # define MAXSIZE 20using namespace std; typedef struct/三元组的定义int row;/非0元的行下标int col;/非0元的列下标int e;/非0元的素值Triple;typedef struct/矩阵的定义Triple dataMAXSIZE;/非0元三元组表int m,n,len;/矩阵的行数,列数和非0元个数TSMatrix;void initMatrix(TSMatrix &A)/矩阵初始化函数,参数类型为矩阵A.len=0;A.m=0;A.n=0;for (int i=0; iMAXSIZE;i+)A.datai.col=0;A.datai.e=0;A.datai.row=0;void createMatrix(TSMatrix &A)/创建矩阵函数,创建三元组顺序表表示的矩阵initMatrix(A);cout创建矩阵:;coutA.mA.nA.len;/输入矩阵的行、列值及非0元的个数for(int i=0;iA.len;i+)/循环输入非0元的值cout请输入第: i+1 A.datai.row;cinA.datai.col;cinA.datai.e;int search(TSMatrix A,int m,int n)/找到m行n列元素在A的三元组表中的位置。若找到返回值,若找不到返回-1int flag=-1;for(int i=0;iMAXSIZE;i+)if(A.datai.row=m&A.datai.col=n)/找到了第m行第n列的元素的位置flag=i;/将此元素位置值赋给flagbreak;return flag;void mult(TSMatrix A,TSMatrix B,TSMatrix &C)/矩阵相乘函数int i=0;int j=0;if (A.n=B.m)C.m=A.m;C.n=B.n;for(i=0;iA.len;i+)for(j=0;jB.len;j+)if(A.datai.col=B.dataj.row)/此条件保证俩矩阵的非0元相乘后!=0int flag=search(C, A.datai.row, B.dataj.col) ; /调用搜索函数找到row行和col列在c的顺序表中的位置if(flag=-1)C.dataC.len.col=B.dataj.col;C.dataC.len.row=A.datai.row;C.dataC.len+.e=B.dataj.e*A.datai.e;/end_if(flag=-1)elseC.dataflag.e=C.dataflag.e+A.datai.e*B.dataj.e;/end_if(A.datai.col=B.dataj.row)/end_for(j=0;jB.len;j+)/end_for(i=0;iA.len;i+)/end_if (A.n=B.m)elsecout矩阵不能相乘!endl;/end_multvoid print(TSMatrix A)int k=0,i,j;int MMAXSIZEMAXSIZE;for (i=0;iA.m;i+)for(j=0;jA.n;j+)Mij=0;while(kA.len)MA.datak.row-1A.datak.col-1=A.datak.e;k+;for(i=0;iA.m;i+)/以列表形式输出矩阵cout| ;/控制打印格式for(j=0;jA.n;j+)coutMij ;cout|endl;void showtip()cout-please choose the case-endl;coutendl;cout 0-found matrixendl;cout 1-A * Bendl;cout 2- exitendl;cout-i;while(true)int i;cini;switch(i)case 0: system(cls); cout创建矩阵A:endl; createMatrix(A);/调用创建函数 cout创建矩阵B:endl; createMatrix(B); showtip();/调用菜单函数 break; case 1: system(cls); if(A.m=0|B.m=0) cout未创建矩阵endl; else initMatrix(C);/调用矩阵初始化函数mult(A,B,C);/调用矩阵相称函数if(A.n=B.m)cout乘后的结果:endl;print(A);cout*endl;print(B);cout=endl;print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低空经济新基建投资热点报告:2025年产业布局战略分析
- 2026届国家管网集团高校毕业生招聘笔试备考题库(浓缩500题)含答案详解(预热题)
- 2026秋季国家管网集团浙江省天然气管网有限公司高校毕业生招聘笔试模拟试题(浓缩500题)带答案详解(综合题)
- 2025年下半年江西鹰潭市余江区工业投资集团限公司招聘12名易考易错模拟试题(共500题)试卷后附参考答案
- 2026国网上海市高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题及答案详解(基础+提升)
- 2025年下半年江西省抚州金溪县琅琚镇人民政府招聘编外3人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年江西省吉安市事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年江西广丰县文化馆招考文艺人才易考易错模拟试题(共500题)试卷后附参考答案
- 2025年泌尿外科学(副高)笔试历年全考点试卷附带答案
- 2025年下半年江西九江瑞昌市农业局等单位招考高层次人才9人易考易错模拟试题(共500题)试卷后附参考答案
- 建筑工程质量管理体系文件
- 2024年国家义务教育质量监测-四年级心理健康测试卷
- 四年级数学上册口算练习卡约2400题
- MOOC 电工技术与实训-深圳职业技术学院 中国大学慕课答案
- 青春期生理变化
- 国家开放大学《Python语言基础》实验4:条件分支结构基本应用参考答案
- 预防错装漏装措施
- 船舶火灾的危险性及预防范本
- 主要树种树高级立木材积表
- JJG 443-2023燃油加油机(试行)
- 历年大学英语四六级翻译真题
评论
0/150
提交评论