




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验目的实验目的 采用三元组表存储表示 求稀疏矩阵 M 转置函数 T 实验内容实验内容 编程序并上机调试运行 采用三元组表存储表示 求稀疏矩阵 M 转置函数 T 编写程序 采用三元组表存储表示 求稀疏矩阵 M 转置函数 T include define MAXSIZE 100 typedef struct int i j int e Triple typedef struct Triple data MAXSIZE 1 int mu nu tu TSMatrix 创建稀疏矩阵 M CreateSMatrix TSMatrix M int i m n e k printf 输入矩阵 M 的行数 列数 非零元的个数 中间用逗号隔开 scanf d d d M data 0 i 0 printf n for i 1 i M tu i do printf 输入第 d 个非零元素所在的行 1 d 列 1 d 值以及该数值 i M mu M nu scanf d d d k 0 if m M mu n M nu k 1 if m M data i 1 i m M data i 1 i while k M data i i m M data i j n M data i e e printf n return 1 输出稀疏矩阵 M void PrintSMatrix TSMatrix M int i printf n for i 1 i M tu i printf 2d 4d 8d n M data i i M data i j M data i e printf n printf n 求稀疏矩阵 M 的转置矩阵 T void TransposeSMatrix TSMatrix M TSMatrix T int p q col T mu M nu T nu M mu T tu M tu if T tu q 1 for col 1 col M nu col for p 1 p M tu p if M data p j col T data q i M data p j T data q j M data p i T data q e M data p e q return 1 打印矩阵函数 以通常形式输出矩阵 void print TSMatrix A int k 1 a b int M MAXSIZE MAXSIZE printf 非零元素所对应的位置 n printf n for a 0 a A mu a for b 0 b A nu b M a b 0 while k A tu M A data k i 1 A data k j 1 A data k e k for a 0 a A mu a printf for b 0 b A nu b printf d M a b printf n printf n printf n 主函数 int main TSMatrix M T printf 创建矩阵 M CreateSMatrix printf 矩阵 M 的三元组表为 n PrintSMatrix M print M TransposeSMatrix M printf 稀疏矩阵 M 的转换矩阵 T 的三元组表为 n PrintSMatrix T print T printf n n getchar return 0 运行程序 程序解析 1 首先是将程序的开头写好 定义非零元个数最多为 100 定义非零元的行下标 列下标 和非零元素为 int 型 由 mu nu tu 分别代 表矩阵的行数 列数和非零元个数 2 创建稀疏矩阵创建稀疏矩阵 M 创建一个稀疏矩阵 用 scanf 进行用户输入行数 列数及非零元个数 当 i 小于 等于非零元个数时 进行以下的 for 循环 执行内循环的循环语句 当 k 不为 0 时 重复执行输入非零元素的行列值以及其值 若超出行数或列数或非零元 个数 则跳出循环 加入外循环 执行外循环的三个语句 直到 i 等于非零个 数 跳出外循环 3 输出稀疏矩阵输出稀疏矩阵 M 用 PrintSMatrix 函数输出稀疏矩阵 从 i 等于 1 循环执行到 i 等于非零元个数 使非零元的行列数一个一个输出 4 求稀疏矩阵的转置矩阵 求稀疏矩阵的转置矩阵 用 TransposeSMatrix 函数实现稀疏矩阵 M 转置为矩阵 T 让 T 的行等于 M 的 列 T 的列等于 M 的行 非零元素相等 当非零元素不等于零时 就执行 if 语 句 if 语句中两个 for 循环和一个 if 循环实现了 MT 矩阵行列的对调 按列序 求转置 最后返回 1 5 打印函数 输出非零元素对应的位置打印函数 输出非零元素对应的位置 这里定义一个 M 的数组 当 a 小于行数数 执行内循环 使 b 的列数不断增加 赋值为 0 在执行外循环 b 变为 1 执行内循环 在赋值为 0 然后再跳出内 循环 执行外循环 如此直到 a 等于行数则跳出外循环 执行下面的 while 语 句 当 k A 的非零元个数时 将非
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建漳州农村农业局招聘4人考前自测高频考点模拟试题及参考答案详解
- 2025广西百色市第三人民医院(百色市应急医院)公开招聘5人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年长春吉润净月医院社会招聘考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年4月四川成都天府新区顾连禾泰康复医院招聘48名考前自测高频考点模拟试题及1套参考答案详解
- 2025年河北石家庄协和医学中等专业学校公开招聘教师20名考前自测高频考点模拟试题及答案详解(必刷)
- 2025年河北沧州泊头市中医医院招聘专业技术人员29名考前自测高频考点模拟试题(含答案详解)
- 2025广西桂林工程职业学院人才招聘模拟试卷带答案详解
- 2025安徽蚌埠市龙子湖区产业发展有限公司招聘22人考前自测高频考点模拟试题及参考答案详解1套
- 2025年马鞍山花山区社区工作者招聘40人模拟试卷及答案详解一套
- 2025年上海市奉贤区医疗急救中心公开招聘编外辅助工作人员模拟试卷及参考答案详解一套
- 人力资源中薪酬管理案例分析题及答案
- 驾驶安全培训文案课件
- 采购业务审计培训
- 2025-2026学年冀美版(2024)小学美术二年级上册(全册)教学设计(附目录P284)
- 招聘渠道分析评估表
- 2025年注册安全工程师考试 安全生产法律法规与标准冲刺押题卷
- 服装色彩构成课件
- 2025年华为软件开发工程师招聘面试题库及答案解析
- 程序化广告课件
- 电工基础课件
- 真菌生物膜毒力因子-洞察及研究
评论
0/150
提交评论