课程设计报告封面11

课程设计报告封面11

ID:40978123

大小:42.50 KB

页数:5页

时间:2019-08-12

课程设计报告封面11_第1页
课程设计报告封面11_第2页
课程设计报告封面11_第3页
课程设计报告封面11_第4页
课程设计报告封面11_第5页
资源描述:

《课程设计报告封面11》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、海南大学2009—2010年度第1学期《数据结构》课程设计报告学生证号:学生姓名:分数:课程设计报告一、程序设计的目的和要求:本程序使用的得是C语言的编程,将含有多个零元素的稀疏矩阵进行压缩,以减少其存储空间,并更加简洁便利的进行存储,再利用压缩的三元组将其还原成原来的稀疏矩阵。以此来锻炼我们的实际操作能力,也能活跃我们的思维和创新能力。二、需求分析:该程序可以分为三个模块:(1)稀疏矩阵的输入模块:使用main()函数来进行输入。(2)稀疏矩阵的压缩模块:调用matrix()函数来进行矩阵的压缩,并将其所得的三元组进行输出。(3)三元组的还原模块:调用ret

2、u()函数将三元组还原成原来的稀疏矩阵,并将其进行输出。三、概要设计:第一部分:主函数main()的使用,首先定义一个数组array,利用循环将数组array进行输入。然后调用函数matrix,将稀疏矩阵进行压缩。最后调用函数retu,将稀疏矩阵进行还原。第二部分:调用函数matrix对矩阵进行压缩,首先利用if函数和循环对稀疏矩阵中的非零元素进行识别,并将其元素所在的行、列和数值分别赋给变量row、col和val。然后对压缩的三元组进行输出,并且将非零元素所在的行、列和数值保存在compress数组中。最后将矩阵的最大行数x和最大列数y分别保存在compre

3、ss数组的第一个元素和第二个元素中,将举证中非零个数n保存在compress数组的第三个元素中,为下边矩阵的还原做准备。第三部分:调用函数retu对矩阵进行还原,首先设定一个数组retu[100][100],并利用数组compress中的前两个元素的值对数组retu的最大的行和列进行限定。然后利用循环给数组retu进行赋值,将所有元素都赋值为零,并利用if函数和循环将compress数组中保存的矩阵的非零元素所在的行数和列数组retu中找到对应的行和列,将其所保存的数值赋给相应的数组retu的元素中。最后利用循环将数组retu进行还原,即为系数矩阵的还原。四、

4、详细设计:#include#include/*调用了2个库函数*/intcompress[100][3];/*定义了一个数组compress*/voidmatrix(intx,inty,intarray[100][100])/*利用函数对稀疏矩阵进行压缩*/{inti,j,row,col,val,x,y;intn=0;printf(“thecompressresultofthematrixis:”);printf("rowcolval");printf("");for(i=0;i

5、++){if(array[i][j]!=0)/*利用if函数对非零数的行、列和数值进行判别*/{n++;/*计算非零的个数*/row=i;col=j;val=array[i][j];/*对三元组进行赋值*/printf("%-8d%-8d%-8d",row,col,val);/*对三元组进行输出*/compress[n][0]=i;/*将矩阵中非零元素所在行的行数保存在数组compress的第一列中*/compress[n][1]=j;/*将矩阵中非零元素所在列的列数保存在数组compress的第二列中*/compress[n][2]=array[i][j];

6、/*将矩阵中的非零元素保存在compress数组的第三列中*/}printf("");}compress[0][0]=x;/*将矩阵的最大行数数值赋给compress数组的第一个元素*/compress[0][1]=y;/*将矩阵的最大列数数值赋给cimpress数组的第二个元素*/compress[0][2]=n;/*将非零个数数值赋给compress数组的第三个元素*/}voidretu(intcompress[100][3])/*利用函数对三元组进行还原*/{inti,j,m;intretu[100][100];intx,y;intn;x=compr

7、ess[0][0];y=compress[0][1];n=compress[0][2];for(i=0;i

8、tofthematrixis:”);f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。