收藏 分享(赏)

数据结构实验稀疏矩阵计算器.doc

上传人:精品资料 文档编号:10704545 上传时间:2019-12-29 格式:DOC 页数:11 大小:95.86KB
下载 相关 举报
数据结构实验稀疏矩阵计算器.doc_第1页
第1页 / 共11页
数据结构实验稀疏矩阵计算器.doc_第2页
第2页 / 共11页
数据结构实验稀疏矩阵计算器.doc_第3页
第3页 / 共11页
数据结构实验稀疏矩阵计算器.doc_第4页
第4页 / 共11页
数据结构实验稀疏矩阵计算器.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、实验报告题目:稀疏矩阵运算器班级:14 电子商务平台建设班 完成日期:2015.11.2学号:20141103468 姓名: 孙少辉 学号:20141103421 姓名: 杨德龙学号:20141103407 姓名: 柴益新一:需求分析稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏“特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。【基本要求】以“带行逻辑链接信息“的三元组顺序表示稀疏矩阵,实现两个矩阵相加、相减和相乘运算。稀疏矩阵的输入采用三元组表示,而运算结果的矩阵则以通常阵列形式列出。【项目约束】1 首先应输入矩阵的行数和列数,并判断给出的两个矩

2、阵行、列数对于所要求作的运算是否相匹配。可设矩阵的行数和列数均不超过 20。2 程序可以对三元组的输入顺序加以限制,例如,按行优先。注意研究教科书 5.3.2 节中的算法,以便提高计算效率。3.在用三元组稀疏矩阵时,相加或相减所得结果矩阵应该另生成,乘积矩阵也可用二维数组存放。三:详细设计1:数据结构的定义元素类型、变量、指 针类型(1( 项目数据表:3.2 子函数函数名 入口参数出口参数功能介绍main()定义二维数组及用到的各种变量3:函数调用关系无函数调用关系,只有一个主函数四:调试分析三元组顺序的输入规则。以 0 0 0 作为输入的结束信号。完成实现稀疏矩阵的相加、相减、相乘的运算。五

3、:用户使用说明(1) 首先运行文件系统1. 首先定义要运算的第一个稀疏矩阵的行列数定义完成之后输入另一个要运算的稀疏矩阵的行列。(2) 输入信息:如下图所示输入两个矩阵的元素所有输入信息以及运算方法输入完成之后。回车直接算出结果(3) 输出信息:六、源代码/*项目名称:稀疏矩阵的运算*设计者:杨德龙,柴益新,孙少辉*时 间:2015.11.02*实现目标:实现矩阵的加法,减法,乘法;*/#include#includeint main()/定义二维数组及用到的各种 变量int a2020; int b2020;int c2020;int m,n,k,l,i,j,p;int sum;int o;

4、char t;/输入操作printf(“请输 入第一个矩 阵的行列n“);scanf(“%d%d“, /初始化 a 数组for(i=0;in;i+)for(j=0;jm;j+)aij=0;printf(“请输 入第二个矩 阵的行列n“);scanf(“%d%d“, /初始化 b 数组for(i=0;in;i+)for(j=0;jm;j+)bij=0;printf(“请 用三元组 的方式输入第一个矩 阵(例 1 1 1)(输入 0 0 0 时结束)n“);while(true)scanf(“%d%d%d“,if(i=0 elseai-1j-1=p;printf(“请 用三元组 的方式输入第二个矩

5、 阵(例 1 1 1)(输入 0 0 0 时结束)n“);while(true)scanf(“%d%d%d“,if(i=0 elsebi-1j-1=p;printf(“请输 入执行操作( +或- 或*)n“);while(true)getchar(); scanf(“%c“,if(t=+) /加法运算if(n!=k | m!=l)printf(“不能 进行该运算!“);exit(0); /结束elseprintf(“答案 为:n“);for(i=0;in;i+)for(j=0;jm;j+)printf(“%d “,aij+bij);printf(“n“);exit(0); /结束else if

6、(t=-) /减法运算if(n!=k | m!=l)printf(“不能 进行该运算!“);exit(0); /结束elseprintf(“答案 为:n“);for(i=0;in;i+)for(j=0;jm;j+)printf(“%d “,aij-bij);printf(“n“);exit(0); /结束else if(t=*) /乘法运算if(m!=k)printf(“不能 进行该运算!“);exit(0); /结束elseprintf(“答案 为:n“);for(o=0;on;o+)for(i=0;il;i+)sum=0;for(j=0;jm;j+)sum=sum+aoj*bji;printf(“%d “,sum);printf(“n“);exit(0); /结束elseprintf(“输入符号 错误,重新输入: n“);return 0; /结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报