三对角矩阵压缩存储 转置.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验题目: 实验八——矩阵实验 程序设计2 问题分析: 1、题目要求:设计算法求三对角矩阵在压缩存储下的转置矩阵 2、设计思路:定义一种新的数据结构三元组用来存放数据,该数据结构为以一维数组,结点包括三个量i、j、v,i、j分别用来记录矩阵中元素的下标,v用来记录元素值,这样交换时,仅对下标交换即可达到转置矩阵的目的 3、输入与输出:只需输入三对角矩阵中所有非零元素的值,存放在三元组里,输出时,程序自动在没有数字元素处补零,以矩阵形式输出; 4、转置:调用转置函数进行转置,转置时仅交换数据的下标 5、测试数据:A、输入矩阵阶数:4 输入第一行的两个元素:1 2 输入第二、三行的元素,各三个: 4 5 6 7 8 9 输入最后一行的两个元素:3 8 预测结果: 原矩阵: 转置后矩阵: 1 2 0 0 1 4 0 0 4 5 6 0 2 5 7 0 0 7 8 9 0 6 8 3 0 0 3 8 0 0 9 8 B、输入矩阵阶数:5 输入第一行的两个元素:12 45 输入第二、三行的元素,各三个: 77 88 99 44 55 66 11 22 33 输入最后一行的两个元素:14 82 预测结果: 原矩阵: 转置后矩阵: 12 45 0 0 0 12 77 0 0 0 77 88 99 0 0 45 88 44 0 0 0 44 55 66 0 0 99 55 11 0 0 0 11 22 33 0 0 66 22 14 0 0 0 14 82 0 0 0 33 82 概要设计: 1、为了实现上述程序功能,需定义三元组数据结构用来存储数据,建立三元组输入函数,输出函数和矩阵转置函数,最后在屏幕上输出结果; 2、本程序包含4个函数: ⑴主函数main() ⑵三对焦矩阵建立函数Setmatrix() ⑶转置函数Trabsmatrix() ⑷输出函数Tsmatrixout() 各函数关系如下: main() main() Setmatrix() Trabsmatrix() Tsmatrixout() 详细设计: 1、数据结构与结点类型: typedef struct //定义结点类型 { int i,j,v; }node; typedef struct //定义矩阵类型 { node data[max]; int m; }TSmatrix; 2、各函数的基本操作 ⑴三对角矩阵的建立函数 TSmatrix *Setmatrix(){ 申请空间; 输入第一行的两个元素; 输入2~n-1行的元素,每行3个; 返回; } ⑵转置函数 TSmatrix *Trabsmatrix(TSmatrix *T){ 建立新的三元组; 把原三元组数据下标交换,放入新组; 返回新三元组; } ⑶输出函数 void TSmatrixout(TSmatrix *T){ 定义变量a、b=0; 如果三元表中数据下表等于a、b的值,则输出该元素;

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档