稀疏矩阵运算器..docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
稀疏矩阵运算器.

课程设计题目:稀疏矩阵运算器学号:名:王明龙院系:计算机学院专业:计算机科学与技术年纪:13级指导老师:王爱平完成时间:2015年10月6日目录1 课程设计的目的………………………………………………2 需求分析………………………………………………………3 课程设计报告内容……………………………………………3.1概要设计……………………………………………………3.2详细设计……………………………………………………3.3调试分析……………………………………………………3.4用户手册……………………………………………………3.5测试结果……………………………………………………3.6程序清单……………………………………………………4小 结 ……………………………………………………5 参考文献 ……………………………………………………1.课程设计的目的(1) 熟练使用 C 语言编写程序,解决实际问题;(2) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;(3) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;(4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力2.需求分析稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算 可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。设计一个稀疏矩阵运算器。实现转置,相加,相乘的功能。用三元组顺序表表示稀疏矩阵,实现两个矩阵相转置、相加和相乘的运算程序执行的命令为:1.稀疏矩阵转置; 2.稀疏矩阵加法; ;3. 稀疏矩阵乘法; 4.退出课程设计报告内容3.1概要设计typedefstruct { inti, j; int e; } Triple; //定义三元组的元素基本操作:void InPutTSMatrix(P T, int y) //输入矩阵void OutPutSMatrix(P T)// 输出矩阵void TransposeSMatrix() //矩阵转置的void MultSMatrix() // 两个矩阵相乘void AddSMatrix() //矩阵的加法void main( ) //主程序{初始化; do { 接受命令; 选择处理命令; }while(命令!=“退出”) }3.2 详细设计稀疏矩阵的三元组顺序表存储表示:typedefstruct { inti, j; int e; } Triple;输入矩阵,按三元组格式输入voidInPutTSMatrix(P T, int y) { cout 输入矩阵的行,列和非零元素个数: endl; cin T.mu T.nu T.tu; cout 请输出非零元素的位置和值: endl; int k = 1; for (; k = T.tu; k++) cin T.data[k].i T.data[k].j T.data[k].e; return ;}输出矩阵,按标准格式输出voidOutPutSMatrix(P T) { int m, n, k = 1; for (m = 0; m T.mu; m++) { for (n = 0; n T.nu; n++) { if ((T.data[k].i - 1) == m (T.data[k].j - 1) == n) { cout.width(4); cout T.data[k++].e; } else { cout.width(4); cout 0; }}cout endl; } return; }// 求矩阵的转置矩阵voidTransposeSMatrix() { TSMatrix M, T; //定义预转置的矩阵 InPutTSMatrix(M, 0); //输入矩阵 intnum[MAXROW + 1]; intcpot[MAXROW + 1]; // 构建辅助数组 int q, p, t; T.tu = M.tu; T.mu = M.nu; T.nu = M.mu; if (T.tu) { for (int col = 1; col = M.nu; col++

文档评论(0)

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

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

1亿VIP精品文档

相关文档