数据结构课程设计——课程设计报告模板

数据结构课程设计——课程设计报告模板

ID:38095324

大小:87.50 KB

页数:10页

时间:2019-06-06

数据结构课程设计——课程设计报告模板_第1页
数据结构课程设计——课程设计报告模板_第2页
数据结构课程设计——课程设计报告模板_第3页
数据结构课程设计——课程设计报告模板_第4页
数据结构课程设计——课程设计报告模板_第5页
资源描述:

《数据结构课程设计——课程设计报告模板》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、中国石油大学(北京)远程教育学院《数据结构》课程设计报告201~201学年第学期课程设计题目学生姓名学号专业班级102019年月10题目要求:设计一个稀疏矩阵计算器,实现两个稀疏矩阵的加法、减法、乘法以及矩阵的转置运算。采用菜单为应用程序的界面,用户通过对菜单进行选择,分别实现矩阵的相加、相减、相乘以及矩阵转速运算。1需求分析1.稀疏矩阵是指稀疏因子小于等于0.5的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。2.以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵

2、,实现矩阵转置,以及两个矩阵的加、减、乘的运算。稀疏矩阵的输入形式采用三元组表示,运算结果以阵列形式列出。3.演示程序以用户和计算机的对话方式进行,数组的建立方式为边输入边建立。首先输入矩阵的行数和列数,并判别给出的两个矩阵的行列数是否与所要求的运算相匹配。4.程序可以对三元组的输入属性不加以限制;根据对矩阵的行列,三元组作之间插入排序,从而进行运算时,不会产生错误。5.在用三元组表示稀疏矩阵时,相加、相减和相乘所产生的结果矩阵另外生成。6.运行环境:VC6.0++。2概要设计稀疏矩阵元素用三元组表示:typedefstruc

3、t{inti;//非零元的行下标intj;//非零元的列下标inte;//矩阵非零元}Triple;稀疏矩阵采用三元组顺序表存储:#defineMSXSIZE12500//假设非零元个数的最大值为200#defineMAXRC10//假定矩阵的最大行数为10typedefstruct{intmu;//矩阵的行数intnu;//矩阵的列数inttu;//矩阵的非零元素个数Tripledata[MAXSIZE+1];//非零元三元组表,data[0]没有用intrpos[MAXRC+1];//各行第一个非零元素的位置表}Table

4、type;系统主要函数及功能如下:Menu():主控菜单,接收用户的选项;Input_Matrix():输入矩阵;Print_matrix():输出矩阵;Cal_matrix():计算矩阵每行第一个非零元在三元组中的位序号;TransposeMatrix():矩阵转置;Add_Matrix():矩阵加法运算;10Sub_Matrix():矩阵减法运算;Multi_Matrix():矩阵乘法运算。模块的调用关系如图1所示。Multi_MatrixmainAdd_MatrixSub_MatrixTransposeMatrixCal

5、_MatrixInput_MatrixPrint_Matrix图1程序调用模块示意图3详细设计1.主函数设计//*****************************************//*矩阵运算主函数*//*****************************************主函数中,实现用户菜单菜单的打印,并根据用户的选项执行相应的功能,主函数力求简洁、清晰。voidmain(){num=Menu();//打印主菜单while(num){switch(num){case1:Multi_Matrix(

6、);//矩阵相乘break;case2:TransposeMatrix();//矩阵转置break;case3:Add_Matrix();//矩阵加法10break;case4:Sub_Matrix();//矩阵减法case0:break;}//switchnum=Menu();}//while}2.主菜单设计主控菜单是用来输出提示信息和处理输入,此函数返回用户的选项,提供给main函数中的switch语句。对于不符合要求的选项,提示输入错误并要求用户重新输入。将此函数与main函数合在一起,编译运行程序,即可检查并验证菜单选

7、项是否正确。主菜单如下://*****************************************//*打印主控菜单函数*//*****************************************intmenu(){printf("主菜单");printf("*********************");printf("1.矩阵乘法");printf("2.矩阵转置");printf("3.矩阵加法");printf("4.矩阵减法");printf("0.退出");pri

8、ntf("*********************");scanf("%d",&num);while(num<0

9、

10、num>4)//输入非法,重新输入scanf("%d",&num);returnnum;}3.矩阵乘法运算函数//********************

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

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

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