欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    稀疏矩阵的运算完美版.docx

    • 资源ID:543894       资源大小:46.59KB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    稀疏矩阵的运算完美版.docx

    抑*祢嗜/唐专业课程设计I报告(2011/2012学年第二学期)题目稀疏矩阵的转换专业学生姓名班级学号指导教师指导单位日期软件工程张鹏宇09003018张卫丰计算机学院软件工程系2012年6月18号指导教师成绩评定表学生姓名班级学号专业评分内容评分标准优秀良好中等差平时成绩认真对待课程设计,遵守实验室规定,上机不迟到早退,不做和设计无关的事设计成果设计的科学、合理性功能丰富、符合题目要求界面友好、外观漂亮、大方程序功能执行的正确性程序算法执行的效能设计报告设计报告正确合理、反映系统设计流程文档内容详实程度文档格式规范、排版美观验收答辩简练、准确阐述设计内容,能准确有条理回答各种问题,系统演示顺利。评分等级指导教师简短评语指导教师签名日期备注评分等级有五种:优秀、良好、中等'及格、不及格附件:稀疏矩阵的转换一、课题内容和要求1 .问题描述设计程序用十字链表实现稀疏矩阵的加、减、乘、转置。2 .需求分析(1)设计函数建立稀疏矩阵,初始化值。(2)设计函数输出稀疏矩阵的值。(3)构造函数进行两个稀疏矩阵相加,输出最终的稀疏矩阵。(4)构造函数进行两个稀疏矩阵相减,输出最终的稀疏矩阵。(5)构造函数进行两个稀疏矩阵的相乘,输出最终的稀疏矩阵。(6)构造函数进行稀疏矩阵的转置,并输出结果。(7)退出系统。二、设计思路分析(1)设计函数建立稀疏矩阵,初始化值。(2)设计函数输出稀疏矩阵的值。(3)构造函数进行两个稀疏矩阵相加,输出最终的稀疏矩阵。(4)构造函数进行两个稀疏矩阵相减,输出最终的稀疏矩阵。(5)构造函数进行两个稀疏矩阵的相乘,输出最终的稀疏矩阵。(6)构造函数进行稀疏矩阵的转置,并输出结果。(7)退出系统。三、概要设计为了实现以上功能,可以从3个方面着手设计。1 .主界面设计为了实现对稀疏矩阵的多种算法功能的管理,首先设计一个含有多个菜单项的主2 控菜单子程序以链接系统的各项子功能,方便用户交互式使用本系统。本系统主控菜单运行界面如图所示。3 .存储结构设计本系统采用单链表结构存储稀疏矩阵的具体信息。其中:全部结点的信息用头结点为指针数组的单链表存储。4 .系统功能设计本系统除了要完成稀疏矩阵的初始化功能外还设置了4个子功能菜单。稀疏矩阵的初始化由函数itypedefintEIemType实现。建立稀疏矩阵用voidGreatO实现,依据读入的行数和列数以及非零元素的个数,分别设定每个非零元素的信息。4个子功能的设计描述如下。(1)稀疏矩阵的加法:此功能由函数voidXiangjia()实现,当用户选择该功能,系统即提示用户初始化要进行加法的两个矩阵的信息。然后进行加法,最后输出结果。(2)稀疏矩阵的乘法:此功能由函数voidXiangCheng()实现。当用户选择该功能,系统提示输入要进行相乘的两个矩阵的详细信息。然后进行相乘,最后得到结果。(3)稀疏矩阵的转置:此功能由函数voidZhuanzhi()实现。当用户选择该功能,系统提示用户初始化一个矩阵,然后进行转置,最终输出结果。(4)退出:即退出稀疏矩阵的应用系统。由函数5实现,但用户选择此功能时,系统会提示你是否确实想退出,如果是,则退出,否则继续。三、模块设计1 .模块设计本程序包含1个模块:主程序模块加各功能实现模块。2 .系统子程序及功能设计本系统共设置7个子程序,各子程序的函数名及功能说明如下。(1)typedefintEIemType,&i.j,&i.e);1for(i=1,k=1;i<=;i+)(i=k;whi1ek.i<=i&&k<=k+;)voidXiangjia(TSMatrixA,TSMatrixB,TSMatrix&C,intn)inta,b,temp,I;a=b=1=1;whi1e(a<=&&b<=(ifa.i=b.i)(ifa.j<b.j)I+=a+;eIseifa.j>b.j)=b;I+,e=n*b+.e;eIsetemp=a.e+n*b.e;if(temp)(=a;I.e=temp;I+;)a+;b+;)eIseifa.i<b.i)I+=a+;eIse=b;I+.e=n*b+.e;)whi1e(a<=I+=a+;whi1e(b<=b;I+.e=n*b+.e;=1-1;)intXiangcheng(TSMatrixA,TSMatrixB,TSMatrix&Q)(intarow,brow,ccoI,tp,p,q,t;intctempMAXRC+1;if!=return0;=;=;=0;if*(for(arow=1;arow<=;arow+)(for(ccoI=1;ccoI<=;ccoI+)ctempccoI-O;arow=+1;if(arow<tp=arow+1;eIsetp-+1;for(p=arow;p<tp;p+)(brow=p.j;if(brow<t=brow+1;eIset=+1;for(q-brow;q<t;q+)cco1=q.j;ctempccoI+=p.e*q.e;)for(ccoI=1;ccoK=;ccoI+)(if(ctempcco1)if(+>MAXSIZE)returnO;.i=arow;.j=cco1;.e=ctempcco1;)return1;voidPrint_SMatrix(TSMatrixM)(intk,I,n;Matrixp;P二&M;for(k=1,n=1;k<=p->hs;k+)for(1=1;1<=p->1s;1÷+)if(p->datan.i=k&&p->datan.j=1)(printf(,%5d",p->datan.e);n+;)eIseprintf("%5d'1,0);)printf(',n");1printf("n");)voidZhuanzhi(TSMatrix*a,TSMatrix*b)(intq,co1,p;b->hs=a->1s;b->Is=a->hs;b->f1s=a->fIs;if(b->f1s)(q=1;for(co1=1;co1<=a->Is;co1+)for(p=1;p<=a->fIs;p+)if(a->datap.j-coI)b->dataq.i-a->datap.j;b->dataq.j=a->datap.i;b->dataq.e=a->datap.e;+q;1)voidDestory_SMatrix(TSMatrix&M)(0;1voidmainO(TSMatrixA,B,C;TSMatrix*p=&A,*q=&B;intf1ag,n;whi1e(1)(system("cis");printf(',nnn");printf(,ti1n");printf("tI*稀疏矩阵的加、减、转、乘*In");printf("tIprintf("tI);printf("tI);printf("tI);printf("tI);printf("tI);printf("t,n");1、稀疏矩阵的加法2、稀疏矩阵的减法3、稀疏矩阵的转置4、稀疏矩阵的乘法5、退出该应用程序intf(”输入要进行的项目的编号:");Prscanf("%d",&f1ag);if(fIag=5)break;Great(A);Printf("矩阵A:n");Print_SMatrix(A);switch(f1ag)case1:Great(B);n=1;Printf("矩阵B:n");Print_SMatrix(B);if=&&=printf(,A+Bn");Xiangjia(ArB,C1n);Print_SMatrix(C);e1sePrintf("错误!行列不一致n");break;case 2: Creat(B);n=-1;Printf("矩阵B:n");Print_SMatrix(B);if&&二二(printf("A-B:n");Xiangjia(A,B,C,n);Print_SMatrix(C);)e1sePrintf(”错误!行列不一致n");break;case 3: printf("A->B:n");Zhuanzhi(p,q);Print_SMatrix(B);break;case4:Great(B);Printf("矩阵B:n");Print_SMatrix(B);printf("A*B:n");n=Xiangcheng(A,B,C);if(!n)printf(”错误!行列不匹配n");eIsePrint_SMatrix(C);break;defau1t:Printf("输入错误!n");Destory_SMatrix(A);Destory_SMatrix(B);Destory_SMatrix(C);getchar();getchar();)printf(',nttt*程序已经退出*r');getchar();五、测试数据及其结果分析:DOCUIE1SAHDSETTnKJSJSZXX桌面新建文件夹09003018De1I稀疏矩阵的加、减、转、乘*»*Wb加减荽程的的的的用½½应矩矩矩矩该疏疏疏疏出退12 3 4 5输入要进行的项目的编号:.*C:DOCUIE1TSAHDSETTniGSJSZX桌面新建文件夹09003018Debug09003018.狗疏矩隹的加法稀疏矩阵的减法覆疏矩用的黄置格疏矩阵的照茬退出该应用程序1、2、3、4、8格陨开:222O>=a21数列列M源韭兀元 Jls的8编列烟烟的、入入目数档项一至式的的组组进矩元元数以空格隔开:223列非菱元素:113125224列菲零元聚:请用三元组形式输入矩阵的元素行列Io1要入三三11入输用用地晌清请元 Sf非元元g的列矩题、入入数翦B:变式阵的形形矩组>:矩元元素

    注意事项

    本文(稀疏矩阵的运算完美版.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开