矩阵的转置(详解)

矩阵的转置(详解)

ID:11050814

大小:60.50 KB

页数:4页

时间:2018-07-09

矩阵的转置(详解)_第1页
矩阵的转置(详解)_第2页
矩阵的转置(详解)_第3页
矩阵的转置(详解)_第4页
资源描述:

《矩阵的转置(详解)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//矩阵的转置(亲自调试完成):#include#include//头文件#defineMAXSIZE100#defineOK1typedefintElemType;typedefstruct{intc,r;//该非零元的行下标和列下标ElemTypee;//矩阵中某个位置元素的值}Triple;typedefstruct{Tripledata[MAXSIZE];intmu,nu,tu;//矩阵的行数、列数和非零元个数}TSMatrix;intcol,row;//稀疏矩阵的行列数,全局变量;v

2、oidinput(ElemTypea[MAXSIZE][MAXSIZE]){printf("pleaseinputthecolumnofthematrix:");scanf("%d",&col);//确定矩阵的行数printf("pleaseinputtherowofthematrix:");scanf("%d",&row);//确定矩阵的列数for(inti=0;i

3、i,j);scanf("%d",&a[i][j]);}printf("");}}voidinit(ElemTypea[MAXSIZE][MAXSIZE],Tripleta[],TSMatrix*t){inti,j;t->tu=0;//初始化非零个数for(i=0;itu].c=i;ta[t->tu].r=j;ta[t->tu].e=a[i][j];t->tu++;}//记录非零元素的位置与值t->mu=row;t->nu=col;}

4、voidTransposeSMatrix(TSMatrix*Ma,TSMatrix*Mb,Tripleta[],Tripletb[]){//采用三元组表存储表示,求稀疏矩阵M的转置矩阵Mbintk=0;intp,q;ElemTypeb[MAXSIZE][MAXSIZE]={0};//初始化用来存储最后转置好的矩阵Mb->mu=Ma->nu;//行Mb->nu=Ma->mu;//列Mb->tu=Ma->tu;//非零元个数//用于输出三元组转置后的情况if(Ma->tu!=0){for(inti=0;inu;i++,q++

5、)for(intj=0;jtu;j++,p++)if(ta[j].r==i){tb[k].c=ta[j].r;tb[k].r=ta[j].c;tb[k].e=ta[j].e;//为转置好后的三元组做记录p=tb[k].c;q=tb[k].r;b[p][q]=tb[k].e;//为转置好后的矩阵做好非零元素的位置与值的记录k++;}}printf("thefinalMatrix:");//打印转置好后的矩阵,偷懒的做法for(intp=0;p

6、"t%d",b[p][q]);}printf("");}}voidprintfMatrix(ElemTypea[MAXSIZE][MAXSIZE]){//用来打印矩阵的函数for(inti=0;i

7、)printf("t%dt%dt%d",tb[i].c,tb[i].r,tb[i].e);}intmain(){ElemTypea[MAXSIZE][MAXSIZE],b[MAXSIZE][MAXSIZE]={0};Tripleta[MAXSIZE],tb[MAXSIZE];TSMatrix*Ma,*Mb;if((Ma=(TSMatrix*)malloc(sizeof(TSMatrix)))==NULL)returnprintf("APPLYERROR!");if((Mb=(TSMatrix*)malloc(sizeof

8、(TSMatrix)))==NULL)returnprintf("APPLYERROR!");//申请三元组的空间,失败则打印错误信息input(a);printf("theoriginalmatrix:");//原先的矩阵printfMa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。