- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构三元组稀疏矩阵
一、课程设计的目的
1.将C++语言理论基础实例化。
2.掌握关于编程的技巧和方法。
3.培养解决综合性实际问题的能力。
二、课程设计任务
题目:稀疏矩阵A,B的和
题目要求:稀疏矩阵A,B用三元组顺序表存储。
三元组表C存放结果矩阵
A,B的和存到C中。
题目:用三元组C存放以三元组顺序表做存储结构的稀疏矩阵A,B的和
题目分析
三元组表C是结果矩阵,其中元素仍行优先排列,
按元素的行列去找A中的三元组,若有,则加入C,同时,这个元素如果在B中也有,则加上B的这个元素值,否则这个值就不变;
如果A中没有,则找B,有则插入C,无则查找下一个矩阵元素。两个稀疏矩阵的非零元素按三元组表形式存放,
程序代码
#includeiostream.h
#include malloc.h
#define max 10
typedef struct
{int i,j;
int v;
}spnode;
typedef struct
{int mu,nu,tu;
spnode data[max];
}spmatrix;
addmatrix(spmatrix *a,spmatrix *b)
{spmatrix *c;
int p=0;q=0;col;
c=(spmatrix*)malloc(sizeof(spmatrix));
c-mu=a-mu;
c-nu=a-nu;
c-tu=0;
while (pa-tuqb-tu)
{
if((a- data[p].i==B- data[q].i)(A- data[p].j==B- data[q].j))
{ col=a- data[p].v+B- data[q].v;
if(col!=0)
{ c- data[c- tu].i=a- data[p].i;
c- data[c- tu].j=a- data[p].j;
c- data[c- tu++].v=col;
}
p++;
q++;
}
if ((a- data[p].i==b- data[q].i)(a- data[k].j b- data[l].j))
{ c- data[c- tu].i=a- data[p].i;
c- data[c- tu].j=a- data[p].j;
c- data[c- tu++].v=a- data[p].v;
p++;
}
if ((a- data[p].i==b- data[q].i)(a- data[k].j b- data[l].j))
{ c- data[c- tu].i=a- data[p].i;
c- data[c- tu].j=a- data[p].j;
c- data[c- tu++].v=a- data[p].v;
q++;
}
}
while (pa-tu)
{ c- data[c- tu].i=a- data[p].i;
c- data[c- tu].j=a- data[p].j;
c- data[c- tu++].v=a- data[p].v;
p++;
}
while(qb-tu)
{ c- data[c- tu].i=b- data[q].i;
c- data[c- tu].j=b- data[q].j;
c- data[c- tu++].v=b- data[q].v;
q++;
}
}
void Setmatrix(SPMatrix* p)
{
int n;
cout请输入矩阵行数、列数及非0元个数endl;
cinp-muP-nup-tu;
cout三元组表endl;
for(n=1;n=p-tu;n++)
cinp-data[n].ip-data[n].jp-data[n].v;
}
void main()
{
spmatrix a;
spmatrix b;
int i,j,k = 1;
spmatrix *c;
Setmatrix(a);
Setmatrix(b);
c
您可能关注的文档
- 南开初2011级(下)第一次月考化学试题.doc
- 6120ci拆机教程.doc
- 数学学法指津.doc
- 2004—2005学年第1学期A.doc
- String字符容器.ppt
- 盾构技术(第二节).ppt
- 007-软土路基施工技术交底.doc
- 第4章Excel基础知识.doc
- 2004级微生物学B卷试题答案.doc
- 餐饮通解决方案.doc
- 石膏板吊顶施工工艺标准.pptx
- 消防控制室管理及火灾应急处置程序.pptx
- 年产4万吨环保汽车涂料、2.5万吨高分子新材料项目可行性研究报告写作模板-拿地申报.doc
- 2024-2025年第二学期2-5月伙食费通知.doc
- 3.2 用画线段图的策略解决问题(教学课件)三年级数学下册同步精品系列(苏教版).pptx
- 精品解析:江苏省南京市金陵汇文学校2024-2025学年八年级下学期月考历史试题(原卷版).docx
- 2016新大纲财经法规与会计职业道德课件(1-2章).ppt
- 2017新大纲财经法规与会计职业道德课件(1-2章).ppt
- 财经法规与会计职业道德 -第一章.ppt
- 上市公司ESG评级分歧对分析师盈余预测影响研究.doc
文档评论(0)