三元组求两个相同行列式相加.doc_第1页
三元组求两个相同行列式相加.doc_第2页
三元组求两个相同行列式相加.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#define MAXSIZE 12500typedef int ElemType;typedef int Status;typedef structint i,j;ElemType e;Triple;typedef structTriple dataMAXSIZE+1;int mu,nu,tu;TSMatrix;Status CreatSMatrix(TSMatrix &M)/创建稀疏矩阵Mint i,m,n;ElemType e;printf(请输入矩阵的行数,列数和非零元素个数(可用空格隔开):);scanf(%d,&M.mu);scanf(%d,&M.nu);scanf(%d,&M.tu);if(M.tuMAXSIZE)printf(非零元素个数太多请重新输入n);exit(0);M.data0.i=0;for(i=1;i=M.tu;i+)printf(请按行序输入第%d个非零元素所在行、列、元素的值:,i);scanf(%d,&m);scanf(%d,&n);scanf(%d,&e);if(mM.mu|nM.nu)printf(行或列超出范围请重新输入n);exit(0);if(mM.datai-1.i|m=M.datai-1.i&n=M.datai-1.j)/行或列的顺序有错printf(行或列的顺序有错请重新输入n);exit(0);M.datai.i=m;M.datai.j=n;M.datai.e=e;return 1;Status comp(int c1,int c2)/比较行列的大小AddSMatrix函数将用到if(c1c2)return -1;if(c1=c2)return 0;return 1;Status AddSMatrix(TSMatrix M,TSMatrix N,TSMatrix &Q)/求稀疏矩阵的和Q=M+Nint m=1,n=1,q=0;if(M.mu!=N.mu|M.nu!=N.nu)printf(不满足矩阵相加的条件请重新输入n);exit(0);Q.mu=M.mu;Q.nu=M.nu;while(m=M.tu&n=N.tu)switch(comp(M.datam.i,N.datan.i)case -1:Q.data+q=M.datam+;break;case 0:switch(comp(M.datam.j,N.datan.j) case -1:Q.data+q=M.datam+;break;case 0:Q.data+q=M.datam+;Q.dataq.e+=N.datan+.e;if(Q.dataq.e=0)q-;break;case 1:Q.data+q=N.datan+;break;case 1:Q.data+q=N.datan+;while(m=M.tu)Q.data+q=M.datam+;while(nMAXSIZE)printf(非零元素个数太多请重新输入n);exit(0);return 1;void main()TSMatrix M,N,Q;printf(输入矩阵Mn);CreatSMatrix(M);/创建矩阵Mprintf(输入矩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论