下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验2 稀疏矩阵的表示和转置实验人:杜国胜 学号:Xb14680103 时间:11.9 1、 实验目的1. 掌握稀疏矩阵的三元组顺序表存储结构2. 掌握稀疏矩阵的转置算法。2、 实验内容采用三元组表存储表示,求稀疏矩阵M的转置矩阵T。 (算法5.1)3、 实验步骤:1. 构建稀疏矩阵M。2. 求稀疏矩阵M的转置矩阵T。3. 输出稀疏矩阵M和稀疏矩阵T。4、 算法说明首先要创建稀疏矩阵和三元组顺序表,定义mu,mu,tu分别表示矩阵的行列数和非零元个数。在进行稀疏矩阵的转置时要做到1.将矩阵的行列值相互交换2.将每个三元组的I,j相互调换3.重排三元组之间的次序5、 测试结果6、 分析讨论在此次
2、程序中转置的方法称为快速转置,在转置前,应先求的M的每一列中非零元的个数,进而求得每一列的第一个非零元的位置7、 附录:源代码#include<stdio.h>#define MAXSIZE 100typedef structint i,j;int e;Triple;typedef structTriple dataMAXSIZE+1;int mu,nu,tu;TSMatrix;/创建稀疏矩阵Mvoid CreateSMatrix (TSMatrix *M)int i,m,n,e,k;printf("输入矩阵M的行数、列数、非零元的个数(中间用逗号隔开):");
3、scanf("%d,%d,%d",&(*M).mu,&(*M).nu,&(*M).tu);(*M).data0.i=0;printf("n");for(i=1;i<=(*M).tu;i+)doprintf("输入第%d个非零元素所在的行(1%d)列(1%d)值以及该数值:",i,(*M).mu,(*M).nu);scanf("%d,%d,%d",&m,&n,&e);k=0;if(m<1|m>(*M).mu|n<1|n>(*M).nu)k=
4、1;if(m<(*M).datai-1.i|m=(*M).datai-1.i&&n<(*M).datai-1.j)k=1;while(k);(*M).datai.i=m;(*M).datai.j=n;(*M).datai.e=e;printf("n");/输出稀疏矩阵Mvoid PrintSMatrix(TSMatrix M)int i;printf("*n");for(i=1;i<=M.tu;i+)printf("%2d%4d%8dn",M.datai.i,M.datai.j,M.datai.e);
5、printf("*n");printf("n");/求稀疏矩阵M的转置矩阵Tvoid 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.datap.j=col)(*T).dataq.i=M.datap.j;(*T).dataq.j=M.datap.i;(*T).dataq.e=M.data
6、p.e;+q; void print(TSMatrix A) int k=1,a,b;int MMAXSIZEMAXSIZE;printf("非零元素所对应的位置:n");printf("*n"); for(a=0;a<A.mu;a+)for(b=0;b<A.nu;b+) Mab=0;while(k<=A.tu)MA.datak.i-1A.datak.j-1=A.datak.e;k+;for(a=0;a<A.mu;a+) printf(" | ");for(b=0;b<A.nu;b+)printf("%d ",Mab);printf(" | n");printf("*n");printf("n");/主函数int main()TSMatrix M,T;printf("创建矩阵M:");CreateSMatrix(&M);printf("矩阵M的三元组表为:n");PrintSMatrix(M);print(M);TransposeSMatrix(M,&T);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《解析几何》2021-2022学年第一学期期末试卷
- 淮阴师范学院《政治哲学》2023-2024学年第一学期期末试卷
- 淮阴师范学院《西方音乐史专题研究》2022-2023学年第一学期期末试卷
- 课件怎样播放教学课件
- 淮阴师范学院《普通生态学》2023-2024学年第一学期期末试卷
- 淮阴工学院《研究方法与论文写作》2022-2023学年第一学期期末试卷
- DB4420T+54-2024《企业商业秘密保护管理规范》
- DB2310-T 151-2024珍珠梅播种育苗技术规程
- 2020年科普知识竞赛题库及答案(完整版)
- 公共设施管理的城市景观规划考核试卷
- 广东省深圳市2023-2024学年高一上学期生物期中试卷(含答案)
- 第七章 立体几何与空间向量综合测试卷(新高考专用)(学生版) 2025年高考数学一轮复习专练(新高考专用)
- 大学美育(同济大学版)学习通超星期末考试答案章节答案2024年
- 2024年2024年离婚协议书模板
- 福建省残疾人岗位精英职业技能竞赛(美甲师)参考试题及答案
- 中考英语过去将来时趣味讲解动态课件(43张课件)
- 广西邕衡教育名校联盟2024-2025学年高三上学期10月适应性检测试题 英语 含答案
- 江苏盐城射阳县招考聘用部分村(居)宣传文化管理员42人高频难、易错点500题模拟试题附带答案详解
- 中频炉维修合同模板
- 液化石油气泄漏应急处理考核试卷
- 过敏性休克完整版本
评论
0/150
提交评论