地铁建设问题

地铁建设问题

ID:44062130

大小:301.79 KB

页数:12页

时间:2019-10-18

地铁建设问题_第1页
地铁建设问题_第2页
地铁建设问题_第3页
地铁建设问题_第4页
地铁建设问题_第5页
资源描述:

《地铁建设问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软件学院课程设计报告书课程名称数据结构设计J目题目建设问颍软件11-02专业班级学号姓名指导教师2013年1月20日目录1•设计时间22.设计目的23.设计任务24.设计内容24.1需求分析24.2总体设计24.2.1主函数流程图24.3详细设计343.2函数调用关系343.3主要模块的算法描述34.4测试与分析34.41测试344.2分析44.5附录45•总结与展望7参考文献8成绩评定81设计时间2012年1月5日2设计目的设计各辖区Z间最短地铁,使修建费用最少3设计任务某城市要在各个辖区之间修建地铁,由

2、于地铁建设费用昂贵,因此需要合理安排地铁建设线路,使市民可以沿地铁到达各个辖区,并使总费用最小。4设计内容(1)输入各个辖区名称和各辖区间宜接距离(地铁铺设费用与距离成正比)。(2)根据辖区距离信息,计算出应该在哪些辖区建立地铁线路。(3)输岀应该建设的地铁线路及所需建设总里程。4.14.2需求分析(1)本程序设计计算城市内各辖区间修建地铁的最短路程。(2)运行时,输入辖区的名称,各辖区Z间用空格键隔开,以#输入结束。(3)输入各辖区间距离时,先输入两辖区名称,再输入距离。(4)最后计算最短距离来得出最少费

3、用。4.3详细设计P163采用邻接矩阵存储构造无向图P175普利姆算法生成最小树4.4测试与分析4.4.1测试4.4.2分析调试时,在输入数据时,再输完数据后要再次按下空格键,再输入结束符号才会结束本次输入进入卜一个输入。且不能输入与木次输入无关的数据或者超出木次输入限制的数据,否则显示错谋,将重新输入。4.5附录#include#include#include#include#defineINFINITY10000#define

4、M20typedefstruct{charV[M][10];intR

5、M][M

6、;intvexnum;}Graph;intlocatevex(Graph*g,chara[10]){inti;for(i=0;ivexnum;i++){if(strcmp(a,g->V[i])==O)returni;}if(i==g・>vexnum)return-1;}intcreatgraph(Graph*g){inti=0,j,m,k,p;chara[10],b[10];printf(”请输入所有的辖区,以#为输入结

7、束标忐”);scanf(u%sH,g->V[i]);while(strcmp(H#n,g->V[i])!=0){i++;scanf(n%sn,g->V[i]);}g->vexnum=i;for(i=0;ivexnum;i++)for(j=0;jvexnum;j++)g・>R[i][j]二INFINITY;printf(”请输入辖区和辖区之间的路程,以##为结束标志”);scanf(,'%s%s%d',,a,b,&m);while(strcmp("##",a)!=OIIstrcmp(H

8、##",b)!=OIIm!=0){k=locatevex(g,a);p=locatevex(g,b);if(k==-l){primfC没有%$这个辖区",a);return0;}if(p==-l){primfC没有%$这个辖区",b);return0;}g->R[k]fp]=g->R[pl[k]=m;scanf(H%s%s%d",a,b,&m);}return1;}structtree〃构造最小生成树〃{intweizhi;intlowcost;};intminimun(structtree*a,G

9、raphg){inti,k,m=0;for(i=0;i

10、intf("没有%$这个辖区,无法求解",a);return0;}for(i=0;i

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

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

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