稀疏矩阵运器.doc

稀疏矩阵运器.doc

ID:55442686

大小:31.00 KB

页数:6页

时间:2020-05-13

稀疏矩阵运器.doc_第1页
稀疏矩阵运器.doc_第2页
稀疏矩阵运器.doc_第3页
稀疏矩阵运器.doc_第4页
稀疏矩阵运器.doc_第5页
资源描述:

《稀疏矩阵运器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、稀疏矩阵运算器需求分析1.按照压缩存储的概念,只存储稀疏矩阵的非零元,以两个三元组{i,j,e}来表示矩阵的非零元的行,列和数值,就确定了一个非零元.由此,稀疏矩阵可由表示非零元的三元数组及行列数确定.2.用户输入数据作为三元组的行,列和非零元的个数,用逗号隔开.并输入非零元的行,列和数值.3.本程序只对两个矩阵进行四则运算,所的结果矩阵应该另生成,用二维数组存放,并放入新的矩阵中,只要对矩阵求解就能求出答案.4.测试数据(附后).5.程序执行命令为:1)加法命令;2)减法命令;3)乘法命令;概要设计1.设定稀疏矩阵的抽象数据类型定义

2、:ADTSparseMatrix{数据对象:D={aij

3、i=1,2,……,n;aij属于Elemset,m和n分别为矩阵的行和列数}数据关系:R={Row,Col}Row={

4、1<=i<=m,1<=j<=n-1}Col={

5、1<=i<=m-1,1<=j<=n}基本操作:CreateMatrix(&M);操作结果:创建稀疏矩阵M.PrintSMatrix(M);初始条件:稀疏矩阵M存在.操作结果:输出稀疏矩阵M.AddSMartrix(M,N,&Q);初始条件:稀疏矩阵M存在.操作结

6、果:求稀疏矩阵的和Q=M+N;SubtMatrix(M,N,&Q);初始条件:稀疏矩阵M存在.操作结果:求稀疏矩阵的差Q=M-N;MultSMatrix(M,N,&Q);初始条件:稀疏矩阵M存在操作结果:求稀疏矩阵M的乘积Q=M*N.}ADTSparseMatrix2.本程序包括两个模块.1)主程序模块:Voidmain(){初始化;接受命令;While(命令!=“退出”){处理命令;接受命令;}}2).稀疏矩阵模块--实现稀疏矩阵抽象数据类型各模块之间的调用关系如下:主程序模块->稀疏矩阵模块3).求解矩阵的加减乘的运算:(1)加法

7、:若行和列相等,则数值相加,存入数组中;否则直接存入数组中;最后将数组中的元素放入新生成的矩阵中.(2)减法:使第二个矩阵的每个数值都乘以-1,存入原来的数组中;接着调用加法运算函数进行运算;(3)乘法:若m.data中列等于n.data中行的各对应元素想乘,存入数组中,并以m.data的行和n.data的列作为数组的下标,相加所有相同的数组,否则直接存入数组,最后存入新的矩阵中.1.稀疏矩阵类型Typedefstruct{inti,j;inte;}triple;Typedefstruct{trupledata[MAXSIZE+1];

8、intmu,nu,tu;}tsmatrix;VoidCreateMatrix(tsmatrix&M,intx,inty)//按照用户输入行,列,非零元的个数,并依次输入非零元的行,列,值,并在坐标为(x,y)的位置进行打印.VoidPrintSMaritx(tsmatrixm,intx,inty)//在坐标为(x,y)的位置打印.Intaddtsmatrix(tsmatrixm,tsmatrix,tsmatrix&q)//使矩阵M,N进行加法操作,并把值赋于Q矩阵详细设计(3)Intsubtsmatrix(tsmatrixm,tsma

9、trix,tsmatrix&q)//使矩阵M,N进行减法操作,并把值赋于Q矩阵Intmultsmatrix(tsmatrixm,tsmatrix,tsmatrix&q)//使矩阵M,N进行乘法操作,并把值赋于Q矩阵2.主函数和其他函数的伪码算法Voidmain(){initscreen();//初始化readcommand(cmd);//读入一个命令符while(cmd!=‘q’&&cmd!=‘Q’){interpret(cmd);//解释执行操作命令符readcommand(cmd);//读入一个命令符}}initscreet(){

10、clrscr();inti;gotoxy(1,1);printf("**************************************************************************");gotoxy(1,2);printf("*ADD--a(A)SUB--s(S)MUL--m(M)Quit--q(Q)*");gotoxy(1,3);printf("**************************************************************************");

11、gotoxy(1,23);printf("**************************************************************************");gotoxy(1,24)

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

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

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