下载此文档

矩阵相加.doc


文档分类:中学教育 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
#include<>#defineMaxSize1000/*用户自定义*/typedefintDataType;/*用户自定义*/typedefstruct{inti,j;DataTypev;}Triple;/*定义三元组结构*/typedefstruct{Tripledata[MaxSize];/*定义可存三元组大小*/intmu,nu,tu;}Tsmatrix;/*行数,列数,非零元*/voidaddtriple(Tsmatrix*A,Tsmatrix*B,Tsmatrix*C)/*三元组相加算法*/{intx,sum,pb,pc,pa;C->mu=A->mu;C->nu=A->nu;C->tu=0;/*定义矩阵C的非零元个数开始为0个*/pa=1;pb=1;pc=1;for(x=1;x<=A->mu;x++){while(A->data[pa].i<x)pa++;while(B->data[pb].i<x)pb++;while(A->data[pa].i==x&&B->data[pb].i==x)/*行数相等时*/{if(A->data[pa].j==B->data[pb].j)/*列数相等时*/{sum=A->data[pa].v+B->data[pb].v;/*矩阵想加*/if(sum)/*相加不为零时*/{C->data[pc].i=x;C->data[pc].j=A->data[pa].j;C->data[pc].v=sum;pa++;pb++;pc++;}}elseif(A->data[pa].j>B->data[pb].j)/*A的列数大于B的列数时*/{C->data[pc].i=x;C->data[pc].j=B->data[pb].j;C->data[pc].v=B->data[pb].v;pb++;pc++;}else{C->data[pc].i=x;C->data[pc].j=A->data[pa].j;C->data[pc].v=A->data[pa].v;pa++;pc++;}}while(A->data[pa].i==x)/*插入A剩余的元素*/{C->data[pc].i=x;C->data[pc].j=A->data[pa].j;C->data[pc].v=A->data[pa].v;pa++;pc++;}while(B->data[pb].i==x)/*插入B的元素*/{C->data[pc].i=x;C->data[pc].j=B->data[pb].j;C->data[pc].v=B->data[pb].v;pb++;pc++;}}C->tu=pc;}main(){Tsmatrix*A,*B,*C;intb,e,k;A=(Tsmatrix*)malloc(sizeof(Tsmatrix));B=(Tsmatrix*)malloc(sizeof(Tsmatrix));C=(Tsmatrix*)malloc(sizeof(Tsmatrix));/*生成A、B、C三元组存储空间*/printf("inputA->mu:");/*输入A的

矩阵相加 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539605
  • 文件大小25 KB
  • 时间2019-06-19