题目编制一个稀疏矩阵运算器程序

题目编制一个稀疏矩阵运算器程序

ID:31008380

大小:168.50 KB

页数:11页

时间:2019-01-05

题目编制一个稀疏矩阵运算器程序_第1页
题目编制一个稀疏矩阵运算器程序_第2页
题目编制一个稀疏矩阵运算器程序_第3页
题目编制一个稀疏矩阵运算器程序_第4页
题目编制一个稀疏矩阵运算器程序_第5页
资源描述:

《题目编制一个稀疏矩阵运算器程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实习报告题目:编制一个稀疏矩阵运算器的程序班级:计算机02(8)姓名:陈堪学号:04完成日期:2004.7.7一、需求分析1.稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。2.以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵,实现矩阵转置,求逆,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则以通常的阵列形式列出。3.演示程序以用户和计算机的对话方式执行,数组的建立方式为边输入边建

2、立。4.由题目要求可知:首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否相匹配。5.程序可以对三元组的输入顺序不加以限制;根据对矩阵的行列,三元组作直接插入排序,从而进行运算时,不会产生错误。6.在用三元组表示稀疏矩阵时,相加、乘积和相减所得结果矩阵应该另生成;矩阵求逆时,为了算法方便,使用二维数组存放。7.程序在VC6.0环境下设计。程序执行的命令为:1)稀疏矩阵转置;2) 稀疏矩阵加法;3)稀疏矩阵减法;4)稀疏矩阵乘法;5)稀疏矩阵求逆;6)退出8.测试数据:100000010

3、00000+00-1=008-10010-300-31000010009-0-1=010-101-3-234-30013000-6000080×420=80000100010010000070100000000101-12-1-1-111=3-1-2211-111二、概要设计1.抽象数据类型稀疏矩阵的定义如下:ADTSparseMatrix{数据对象:D={aij

4、i=1,2,…,m;j=1,2,…,n;aij∈ElemSet,m和n分别为矩阵的行数和列数}数据关系:R={Row,Col}Row={﹤ai,j,ai

5、,j+1﹥

6、1≤i≤m,1≤j≤n-1}Col={﹤ai,j,ai+1,j﹥

7、1≤i≤m-1,1≤j≤n}基本操作:create(TSMatrix&TM)操作结果:创建稀疏矩阵矩阵TMLocateELem(TSMatrixM,inti,intj,inte)初始条件:稀疏矩阵M存在操作结果:稀疏矩阵中是否存在非零元素A[i][j],若存在返回edisp(TSMatrixTM)初始条件:稀疏矩阵TM存在操作结果:通常形式输出稀疏矩阵InsertSortMatrix(TSMatrix&TM)初始条件:稀疏矩阵TM存在操作

8、结果:根据对矩阵的行列,三元组TM作直接插入排序TransposeSMatrix(TSMatrixM,TSMatrix&T)初始条件:稀疏矩阵M和T存在操作结果:求稀疏矩阵M转置的稀疏矩阵TAddTSM(TSMatrixA,TSMatrixB,TSMatrix&C)初始条件:稀疏矩阵A,B和C存在操作结果:稀疏矩阵的加法运算:C=A+BSubTSM(TSMatrixA,TSMatrixB,TSMatrix&C)初始条件:稀疏矩阵A,B和C存在操作结果:稀疏矩阵的减法运算:C=A-BMultSMatrix(TSMat

9、rixA,TSMatrixB,TSMatrix&C)初始条件:稀疏矩阵A,B和C存在操作结果:稀疏矩阵的乘法运算:C=A×BNiMatrix(TSMatrix&TM)初始条件:稀疏矩阵TM存在操作结果:稀疏矩阵求逆}ADTSparseMatrix;2.主程序:voidmain(){初始化;do{接受命令;选择处理命令;}while(命令!=“退出”)}3.本程序有四个模块,调用关系如下:主程序模块创建矩阵模块矩阵运算模块矩阵输出模块三、详细设计1.三元组的类型typedefintStatus;typedefintE

10、lemType;typedefstruct{inti,j;//行下标,列下标ElemTypee;//非零元素值}Triple;typedefstruct{Tripledata[MAXSIZE+1];//非零元三元组表,data[0]未用intmu,nu,tu;//矩阵的行数、列数和非零元个数}TSMatrix;2.基本操作设定为:稀疏矩阵的基本操作设置如下:voidcreate(TSMatrix&TM);//创建矩阵voiddisp(TSMatrixTM);//通常形式输出稀疏矩阵StatusLocateELem(

11、TSMatrixM,inti,intj,inte);//三元组表中是否存在非零元素A[i][j],若存在返回evoidInsertSortMatrix(TSMatrix&TM);//根据对矩阵的行列,三元组TM作直接插入排序StatusTransposeSMatrix(TSMatrixM,TSMatrix&T);//矩阵转置的算法StatusAddTSM(T

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

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

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