- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京邮电大学 计算机学院 数据结构第四次实验报告
实验报告(4)
姓 名: 学 号:
班 级: 日 期:
实验目的、实验原理和内容:
一、实验目的:掌握特殊线性表数组的有关运算,熟悉数组的存储结构和基本应用。
二、实验原理:完成特殊单链表-----数组的运算。具体:利用数组存储稀疏矩阵,编写程序实现他们的求和运算。
三、实验内容及要求:
编写一个算法程序实现把2个稀疏矩阵分别存储在2个顺序三元组中;
编写二个算法程序,一个实现把上述2个疏矩阵求和运算,一个实现把上述2个稀疏矩阵求积运算,分别输出求和、求积以后的结果。
要求:请同学把步骤、调试好的程序及存在的问题写在下面。
第一题实验步骤:首先分别建立三元组以及包含这个顺序三元组的矩阵的结构体,然后提示用户输入矩阵的行数列数,然后让用户输入矩阵中的元素,并将非零元素存入三元组中,最后打印出三元组。
第一题实验程序代码:
#include stdio.h
#define MAXSIZE 12500
typedef int ElemType;
typedef struct{//三元组的结构体
int i,j;
ElemType e;
}Triple,*TriplePTR;
typedef struct{//稀疏矩阵的结构体
Triple data[MAXSIZE+1];
int mu,nu,tu;
}TSMatrix,*TSMatrixPTR;
TSMatrix creatTSMatrix(TSMatrix S); //创建一个稀疏矩阵
void playTSMatrix(TSMatrix S);//打印出矩阵的稀疏三元组及完整的矩阵
int main()
{
TSMatrix S,G;
printf(Please input the mu and nu of the first Matrix:\n);
scanf(%d %d,S.mu,S.nu);//提示用户输入矩阵的行数及列数
fflush(stdin);
while(S.mu=0||S.nu=0)//判断用户输入是否合法
{
printf(Your input is wrong,please input again!\n);
scanf(%d %d,S.mu,S.nu);
}
S=creatTSMatrix(S);
playTSMatrix(S);
printf(Please input the mu and nu of the second Matrix:\n);
scanf(%d %d,G.mu,G.nu);
fflush(stdin);
while(G.mu=0||G.nu=0)
{
printf(Your input is wrong,please input again!\n);
scanf(%d %d,G.mu,G.nu);
}
G=creatTSMatrix(G);
playTSMatrix(G);
}
TSMatrix creatTSMatrix(TSMatrix S)//创建一个稀疏矩阵
{
int a[S.mu-1][S.nu-1];
int i,j,k=1;
printf(Please input the data of the Matrix:\n);
for(i=0;i=S.mu-1;i++)
for(j=0;j=S.nu-1;j++)
{
scanf(%d,a[i][j]);
if(a[i][j]!=0)
{
S.data[k].i=i+1;
S.data[k].j=j+1;
S.data[k].e=a[i][j];
k++;
}
}
S.tu=k-1;
return S;
}
void playTSMatrix(TSMatrix S)//打印出稀疏矩阵的三元组及完整的矩阵
{
int i,j,k=1,h;
if(S.tu==0)//判断三元组中是否有非零元素
printf(All elements of the Matrix is zero!\n);
else
{
printf(The Triple of the matrix is:\nmu\tnu\tElemType\n);
for(h=1;h=S.tu;h++)
{
printf(%d\t%d\t%d\n,S.data[h].i,S.data[h].j,S.data[h].e);
}
}
printf(The matrix is:\n);//打印出完整的稀疏矩阵
for(
您可能关注的文档
- 分组公平排队算法的仿真研究.pdf
- 分组数据的Bayes分析_Gibbs抽样方法.pdf
- 切换HOST无需重启浏览器的方法(IE火狐等等).doc
- 划痕试验法对特殊薄膜系结合力的检测与评价.pdf
- 刘建秋运用扶正祛邪法治疗肺癌的经验_毛文丽.pdf
- 创业教父保罗·格雷厄姆给小白的创业建议书.pdf
- 创业企业融资策略探讨.pdf
- 创业企业控制权配置模型研究.pdf
- 创建基于Windows NT操作系统的企业级Intranet网站.pdf
- 创建脚本的技巧与窍门.pdf
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
最近下载
- SY 4201.4-2016 石油天然气建设工程施工质量验收规范 设备安装工程 第4部分:炉类.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(13).电力市场改革与趋势分析.docx VIP
- 云和雪梨生产全程质量控制技术规范.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(12).可视化与报告生成.docx VIP
- 2024-2025学年四川省成都市新都一中实验学校七年级(上)分班数学模拟试卷(含答案).pdf VIP
- 跨座式与悬挂式单轨运输系统幻灯片.ppt VIP
- 市场营销论文:长春农商银行小微企业贷款业务市场营销策略研究.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(11).数据库管理与接口设计.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(10).二次开发工具与技巧.docx VIP
- 有机肥采购项目投标书(范本).docx
文档评论(0)