C实现稀疏矩阵的加法和减法计算

C实现稀疏矩阵的加法和减法计算

ID:37915789

大小:44.50 KB

页数:7页

时间:2019-06-02

C实现稀疏矩阵的加法和减法计算_第1页
C实现稀疏矩阵的加法和减法计算_第2页
C实现稀疏矩阵的加法和减法计算_第3页
C实现稀疏矩阵的加法和减法计算_第4页
C实现稀疏矩阵的加法和减法计算_第5页
资源描述:

《C实现稀疏矩阵的加法和减法计算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#definemax10000typedefstruct{introw;intcol;intele;}Triple;typedefstruct{Tripledata[max+1];intm;intn;intlen;}TSMatrix;//函数表voidPrint(TSMatrix*a,TSMatrix*b,TSMatrix*c);voidChoose(intchoice,TSMatrix*a,TSMatrix*b,TSMatrix*c);voidEnterIn

2、(TSMatrix*x);voidPlus(TSMatrix*a,TSMatrix*b,TSMatrix*c);voidMinus(TSMatrix*a,TSMatrix*b,TSMatrix*c);voidPrintX(TSMatrix*x);//主函数intmain(){TSMatrixa,b,c;//a,b,c三个表system("colora");Print(&a,&b,&c);while(true){printf("Pressentertocontinue.........");getchar();getchar();

3、system("cls");Print(&a,&b,&c);}return0;}voidPrint(TSMatrix*a,TSMatrix*b,TSMatrix*c){intchoice;printf("使用说明:本程序可实现稀疏矩阵的加法和减法.");printf("---------------------");printf("1->输入稀疏矩阵A.");printf("2->输入稀疏矩阵B.");printf("3->A+B.");printf("4->A-B.");printf("5->按其它任意

4、键退出.");printf("---------------------");printf("请选择你要的操作:");scanf("%d",&choice);Choose(choice,a,b,c);}voidChoose(intchoice,TSMatrix*a,TSMatrix*b,TSMatrix*c){switch(choice){case1:EnterIn(a);printf("矩阵A:");PrintX(a);break;case2:EnterIn(b);printf("矩阵B:");PrintX(b

5、);break;case3:Plus(a,b,c);printf("矩阵A:");PrintX(a);printf("矩阵B:");PrintX(b);printf("矩阵C=A+B:");PrintX(c);break;case4:Minus(a,b,c);printf("矩阵A:");PrintX(a);printf("矩阵B:");PrintX(b);printf("矩阵C=A-B:");PrintX(c);break;default:exit(0);}}voidEnterIn(TSMatrix*x

6、){intmark=1;inti;intj;intelement;x->len=0;printf("请输入稀疏矩阵的行数和列数:");scanf("%d%d",&x->m,&x->n);printf("请输入矩阵:");for(i=1;i<=x->m;i++){for(j=1;j<=x->n;j++){scanf("%d",&element);if(element!=0){x->len++;x->data[mark].ele=element;x->data[mark].row=i;x->data[mark].col=j;ma

7、rk++;}}}printf("输入矩阵成功!");}voidPlus(TSMatrix*a,TSMatrix*b,TSMatrix*c){c->m=a->m;c->n=a->n;inti;intj;intk;c->len=0;for(i=1,j=1,k=1;i<=a->len

8、

9、j<=b->len;k++){if(a->data[i].rowdata[j].row){c->data[k].col=a->data[i].col;c->data[k].row=a->data[i].row;c->data[k].ele=a-

10、>data[i].ele;i++;c->len++;}elseif(a->data[i].row==b->data[j].row){if(a->data[i].col==b->data[j].col){c->data[k].col=a->data[i].col;

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

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

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