数据结构稀疏矩阵运算器.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实习4 4.1稀疏矩阵运算器 实习报告 题目:设计一个能实现稀疏矩阵基本运算的运算器。 班级:软件工程11-1 姓名:张艳艳 学号:1101051636 完成日期2012-11-23 需求分析 1.本演示程序中,以“带行逻辑的链接信息”的三元组顺序表表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的表示以阵列形式列出。首先应输入矩阵的行数和列数,并判断给出的两个矩阵的行和列对于所要求的运算是否相匹配。(矩阵的行数和列数均不超过20) 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤去输入数据中的非法字符)和运算结果显示在其后。 3.程序执行的命令包括: (1)构造链表;(2)输入数据;(3)数据处理;(4)结束 4.测试数据 (1)10 0 0 0 0 0 10 0 0 0 0 9 + 0 0 -1 = 0 0 8 -1 0 0 1 0 -3 0 0 -3 (2)10 0 0 0 10 0 0 9 - 0 -1 = 0 10 -1 0 1 -3 -2 3 3 0 0 (3)4 -3 0 0 1 4 2 0 0 -6 0 0 0 0 8 0 * 0 1 0 = 8 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 70 0 0 0 0 0 0 概要设计 包含的头文件 #includestdio.h #includemalloc.h #includestdlib.h 定义结构体以实现矩阵的生成 typedef struct { int i,j; //非零元的行下标和列下标 ElemType e; //非零元的值 }Triple; typedef struct { Triple data[MAXSIZE+1]; int rpos[MAXRC+1]; //各行第一个非零元在三元组的位置表 int hs,ls,fls; }TSMatrix,*Matrix; void Creat(TSMatrix M) //矩阵的生成算法 void Add(TSMatrix A,TSMatrix B,TSMatrix C,int n) //矩阵的相加与相减运算以n=1或-1来调节加或减 int Multiplication(TSMatrix A,TSMatrix B,TSMatrix Q) //实现矩阵的相乘运算 void Turn(TSMatrix *a,TSMatrix *b) //实现矩阵的转置 详细设计 #includestdio.h #includemalloc.h #includestdlib.h #define MAXSIZE 40 //假设非零元素个数的最大值为40 #define MAXRC 20 //假设矩阵的最大行数为20 typedef int ElemType; typedef struct { int i,j; //非零元的行下标和列下标 ElemType e; //非零元的值 }Triple; typedef struct { Triple data[MAXSIZE+1]; int rpos[MAXRC+1]; //各行第一个非零元在三元组的位置表 int hs,ls,fls; }TSMatrix,*Matrix; void Creat(TSMatrix M) //矩阵的生成算法 { int i,k; for(i=1;i=MAXRC+1;i++) M.rpos[i]=0; printf(请输入矩阵的行数、列数和非零元个数(以空格隔开):); scanf(%d %d %d,M.hs,M.ls,M.fls); for(i=1;i=M.fls;i++) { printf(请用三元组形式输入矩阵的元素(行 列 非零元

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档