用三元组表存储表示,求稀疏矩阵m转置函数t

用三元组表存储表示,求稀疏矩阵m转置函数t

ID:13368255

大小:101.00 KB

页数:8页

时间:2018-07-22

用三元组表存储表示,求稀疏矩阵m转置函数t_第1页
用三元组表存储表示,求稀疏矩阵m转置函数t_第2页
用三元组表存储表示,求稀疏矩阵m转置函数t_第3页
用三元组表存储表示,求稀疏矩阵m转置函数t_第4页
用三元组表存储表示,求稀疏矩阵m转置函数t_第5页
资源描述:

《用三元组表存储表示,求稀疏矩阵m转置函数t》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验目的采用三元组表存储表示,求稀疏矩阵M转置函数T实验内容编程序并上机调试运行。采用三元组表存储表示,求稀疏矩阵M转置函数T编写程序//采用三元组表存储表示,求稀疏矩阵M转置函数T#include#defineMAXSIZE100typedefstruct{inti,j;inte;}Triple;typedefstruct{Tripledata[MAXSIZE+1];intmu,nu,tu;}TSMatrix;//创建稀疏矩阵MCreateSMatrix(TSMatrix*M){inti,m,

2、n,e,k;printf("输入矩阵M的行数、列数、非零元的个数(中间用逗号隔开):");scanf("%d,%d,%d",&(*M).mu,&(*M).nu,&(*M).tu);(*M).data[0].i=0;printf("");for(i=1;i<=(*M).tu;i++){do{printf("输入第%d个非零元素所在的行(1~%d)列(1~%d)值以及该数值:",i,(*M).mu,(*M).nu);scanf("%d,%d,%d",&m,&n,&e);k=0;if(m<1

3、

4、m>(*M).mu

5、

6、

7、n<1

8、

9、n>(*M).nu)k=1;if(m<(*M).data[i-1].i

10、

11、m==(*M).data[i-1].i&&n<(*M).data[i-1].j)k=1;}while(k);(*M).data[i].i=m;(*M).data[i].j=n;(*M).data[i].e=e;}printf("");return1;}//输出稀疏矩阵MvoidPrintSMatrix(TSMatrixM){inti;printf("**************************************

12、");for(i=1;i<=M.tu;i++)printf("%2d%4d%8d",M.data[i].i,M.data[i].j,M.data[i].e);printf("**************************************");printf("");}//求稀疏矩阵M的转置矩阵TvoidTransposeSMatrix(TSMatrixM,TSMatrix*T){intp,q,col;(*T).mu=M.nu;(*T).nu=M.mu;(*T).tu=M.tu;if((

13、*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;}}return1;}//打印矩阵函数,以通常形式输出矩阵voidprint(TSMatrixA){intk=1,a,b;intM[MAXSIZE][MAXSIZE];printf("非零元

14、素所对应的位置:");printf("**************************************");for(a=0;a

15、");for(b=0;b

16、

17、");}printf("**************************************");printf("");}//主函数intmain(){TSMatrixM,T;printf("创建矩阵M:");CreateSMatrix(&M);printf("矩阵M的三元组表为:");PrintSMatrix(M);print(M);TransposeSMatrix(M,&T);printf("稀疏矩阵M的转换矩阵T的三元组表为:");PrintSMatrix(T);print(T)

18、;printf("");getchar();return0;}运行程序:程序解析:1.首先是将程序的开头写好,定义非零元个数最多为100.定义非零元的行下标,列下标,和非零元素为int型。由mu,nu,tu分别代表矩阵的行数,列数和非零元个数。2.创建稀疏矩阵M。创建一个稀疏矩阵,用scanf进行用户输入行数,列数及非零元个数。当i小于等于非零元个数时,进行以下的

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

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

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