数据结构课程设计-- 稀疏矩阵的运算

数据结构课程设计-- 稀疏矩阵的运算

ID:9665113

大小:157.50 KB

页数:18页

时间:2018-05-05

数据结构课程设计-- 稀疏矩阵的运算_第1页
数据结构课程设计-- 稀疏矩阵的运算_第2页
数据结构课程设计-- 稀疏矩阵的运算_第3页
数据结构课程设计-- 稀疏矩阵的运算_第4页
数据结构课程设计-- 稀疏矩阵的运算_第5页
资源描述:

《数据结构课程设计-- 稀疏矩阵的运算》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构课程设计说明书题目:稀疏矩阵的运算院系:计算机科学与工程学院专业班级:计算机10-*班学号:****学生姓名:******  指导教师: 2011年12月28日课程设计(论文)任务书计算机科学与工程学院学号****学生姓名*****专业(班级)计10-*设计题目稀疏矩阵的运算设计技术参数系统平台:WindowsXP开发工具:MicrosoftVisualC++6.0设计要求(1)存储结构选择三元组存储方式;(2)实现一个稀疏矩阵的转置运算;(3)实现两个稀疏矩阵的加法运算;(4)实现两个稀疏矩阵的减法运算;(5)实现两个稀疏矩阵的乘法运算。工作量课

2、程设计报告要求不少于3000字。源程序要求不少于300行工作计划11月9日-11月22日查找相关资料11月23日-11月26日DOS菜单界面设计11月27日-12月5日设计算法12月6日-12月20日编写代码12月21日-12月28日撰写实验报告参考资料[1]秦锋.数据结构(C语言版).北京:清华大学出版社,2011[2]温秀梅,丁学均.VisualC++面向对象程序设计.北京:清华大学出版社,2009[3]何钦铭,颜晖.C语言程序设计.北京:高等教育出版社,2008指导教师签字教研室主任签字2011年11月8日目  录1问题描述12需求分析13总体设计2

3、3.1Matrix结构的定义23.2系统流程图34详细设计44.1“菜单”界面44.2建立矩阵44.3显示矩阵64.4矩阵的转置74.5矩阵的加法运算84.6矩阵的减法运算94.7矩阵的乘法运算95程序运行115.1输入矩阵115.2矩阵转置115.3矩阵加法125.4矩阵减法125.5矩阵乘法125.6退出及错误提示136总结13参考文献14I1问题描述(1)题目内容:设计稀疏矩阵运算系统实现两个稀疏矩阵的加法、减法、乘法以及转置操作。(2)基本要求:① 存储结构选择三元组存储方式;② 实现一个稀疏矩阵的转置运算;③ 实现两个稀疏矩阵的加法运算;④ 实现

4、两个稀疏矩阵的减法运算;⑤ 实现两个稀疏矩阵的乘法运算。(3)设计目的:通过本次课程设计,了解稀疏矩阵的一些基本运算操作,并通过相关的程序代码实现。2需求分析经过本次的课程设计,我认为稀疏矩阵运算系统主要实现的功能如下:(1)建立矩阵:只有先建立了矩阵,才能够对矩阵进行运算操作,包括建立矩阵A和矩阵B;(2)转置运算操作:对矩阵A或者矩阵B进行转置运算,输出相应的转置矩阵;(3)四则运算操作:该步骤由两个矩阵同时参与,对其进行加法运算(A+B)、减法运算(A-B)以及乘法运算(A*B和B*A);(4)退出:当做完矩阵的运算操作之后,就可以点击它退出该界面。

5、在这次设计中用到了一些变量和函数,例如:voidDisplay(MatrixM);intMax(inti,intj);MatrixZero(MatrixM)等,下面会做进一步详细的介绍。153总体设计3.1Matrix结构的定义structMatrix{intH;//矩阵的行数intL;//矩阵的列数intfly;//矩阵中的非零元个数intzhi[Maxsize][Maxsize];//非零元值[所在行][所在列]};操作集合:(1)MatrixEnter(MatrixM);//建立矩阵M(2)voidDisplay(MatrixM);//显示矩阵M(3

6、)voidTranspose(MatrixM);//M矩阵的转置(4)voidAdd(MatrixM,MatrixN);//求和运算A+B(5)voidSub(MatrixM,MatrixN);//求差运算A-B(1)voidMulti(MatrixM,MatrixN);//求积运算A*B(2)intMax(inti,intj);//求最大值(3)MatrixZero(MatrixM);//矩阵所有元素赋值为0153.2系统流程图该运算系统的系统流程图如图1所示:稀疏矩阵运算系统输入矩阵A输入矩阵B矩阵A的转置A+B矩阵B的转置A-BA*BB*A退出图1系

7、统流程图154详细设计4.1“菜单”界面进入稀疏矩阵运算系统后的“菜单”界面如图2所示。图2“菜单”界面4.2建立矩阵矩阵在建立之后才能够进行运算操作,建立矩阵A和矩阵B,调用函数Enter(M),首先根据所输入的矩阵M的行数H和列数L,建立H*L的矩阵M,并且调用函数Zero(M)将其所有元素均赋值为0;其次再根据所输入矩阵M的非零元个数fly做循环控制变量,按提示输入非零元所在的行h和列l以及非零元的值,如果输入的行h或者列l大于矩阵M的行H或列L,则提示输入错误;最后将非零元的值保存在矩阵M中的相应位置。程序如下:MatrixEnter(Matrix

8、M)//建立矩阵{15cout<<"请输入矩阵的行数和列数:";c

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

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

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