![城市通信網(wǎng)絡建設系統(tǒng)設計方案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/5b23e84d-043f-418c-89a7-ddfbd0758e87/5b23e84d-043f-418c-89a7-ddfbd0758e871.gif)
![城市通信網(wǎng)絡建設系統(tǒng)設計方案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/5b23e84d-043f-418c-89a7-ddfbd0758e87/5b23e84d-043f-418c-89a7-ddfbd0758e872.gif)
![城市通信網(wǎng)絡建設系統(tǒng)設計方案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/5b23e84d-043f-418c-89a7-ddfbd0758e87/5b23e84d-043f-418c-89a7-ddfbd0758e873.gif)
![城市通信網(wǎng)絡建設系統(tǒng)設計方案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/5b23e84d-043f-418c-89a7-ddfbd0758e87/5b23e84d-043f-418c-89a7-ddfbd0758e874.gif)
![城市通信網(wǎng)絡建設系統(tǒng)設計方案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/19/5b23e84d-043f-418c-89a7-ddfbd0758e87/5b23e84d-043f-418c-89a7-ddfbd0758e875.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)結構課程設計題目:城市通信網(wǎng)絡建設系統(tǒng)班級:*:*學號:1111111111指導教師:完成日期:2015年6月13日28 / 291需求分析1.1 問題描述通信設施的安全保障是安全生產(chǎn)管理工作的一項重要容。隨著通信網(wǎng)絡的不斷擴大和各種先進的通信方式日益增多相應的通信設施也在快速擴展,在不同的環(huán)境、不同的地域受到各種客觀條件的影響和破壞(包括自然因素和人為因素)以與通信設施在使用過程中的老化都會對全程全網(wǎng)的通信質量造成不同程度的影響。因此,采用通信設施安全保障計算機管理系統(tǒng)實現(xiàn)全區(qū)通信設施的集中管理,對保障通信設施安全,提高維護工作效率,與時發(fā)現(xiàn)與處理隱患問題,增強抵抗災害能力,特別是在實現(xiàn)
2、管理工作的系統(tǒng)化、正規(guī)化、規(guī)化方面是非常必要的。如何在最小的經(jīng)濟條件下達到利益最大化,是所有公司、企業(yè)已經(jīng)政府部門一直所探討和解決的問題。對于城市通信管理系統(tǒng)來說,若要在n個城市之間建設通信網(wǎng)絡,只需要架設n-1條通信線路即可,建立最小生成樹即能實現(xiàn)以最低的經(jīng)濟代價建設這個通信網(wǎng)。1.2 基本任務通過用戶調查分析與實際需求,系統(tǒng)需要實現(xiàn)如下基本任務:(1)在紙上模擬設計n個城市的網(wǎng)絡平面圖,城市數(shù)不少于20個,一樣的的城市數(shù)不少于2(n-1),頂點表示各城市,邊表示城市間的距離;(2)編寫算法,求解最小代價通信網(wǎng)絡;(3)輸出該通信網(wǎng)絡中各邊與其權值;n個城市間的線路連接屬于圖的結構,要構建最
3、經(jīng)濟的通信網(wǎng)絡,即是構建圖的生成樹。把城市間的線路關系看成是圖。城市間的距離即是圖的權值。利用prim算法或kruskal算法即可求出最小生成樹。2概要設計為了完成需求分析的基本任務,主要從以下3個方面進行設計:2.1 主界面設計為了使程序界面更加友好,建立了interface函數(shù)和choice函數(shù),即歡迎界面以與實現(xiàn)用戶可以按數(shù)字鍵選擇相應的功能。歡迎界面如下圖:2.2 數(shù)據(jù)結構設計若要在n個城市之間建設通信網(wǎng)絡,只需要架設n-1條通信線路即可。所以,將一個現(xiàn)實的經(jīng)濟問題,轉變?yōu)橐粋€求最小生成樹的問題。本系統(tǒng)軟件采用經(jīng)典算法prim算法和kruskal算法實現(xiàn)求最小生成樹,從而獲取最經(jīng)濟的通
4、信路徑。2.3 系統(tǒng)功能設計系統(tǒng)建立了interface函數(shù)和choice函數(shù),其功能如下:(1) interface函數(shù):使用戶更清晰看到程序的主體,使得程序界面更為直觀。程序如下: void interface() /初始界面 printf( _n);printf( 最小生成樹的應用n);printf( 通信網(wǎng)絡建設問題n);printf( MadeBy董卓琴 Version1.0n);printf(_n);printf( n);printf( n);printf(_n;printf( n);printf(_1.輸入通信網(wǎng)絡基本信息并將信息存儲到文件中n); printf(_2.將網(wǎng)絡基本
5、信息顯示到屏幕上n); printf(_3.用kruskal算法算出最短路徑,并將結果存儲 到文件中n); printf(_4.用prim算法算出最短路徑,并將結果存儲到文件中n); printf(_5.退出n); printf( n);printf( n);printf( ttt請輸入您要選擇的選項(1-5):n); (2) choice函數(shù):為用戶提供了方便,用戶可以通過按數(shù)字鍵來選擇相應的功能。程序如下: void choice() /控制選項函數(shù)MGraph G = MGraph();int c;interface();std:cinc;while(c)switch(c)case 1:
6、system(cls);system(color 1b);printf( n);printf( ntt*歡迎使用*);printf( n_Welcom_to_Use);printf(n*_*);printf( n);printf( n);printf( n);G=SaveGraph(G);system(cls);interface();/system(PAUSE);std:cinc;continue;case 2:system(cls);system(color 1c);printf( n);printf( ntt*歡迎使用*);printf( n_Welcom_to_Use);printf(
7、n*_*);printf( n);printf( ttt下面顯示的是通信網(wǎng)絡的基本信息n);printf( n);G=SaveGraph(G);G=print(G);printf( nttt按任意鍵返回n);c=getchar();/c=getchar();system(cls);interface();/system(PAUSE);std:cinc;continue;case 3:system(cls);system(color 1e);printf( n);printf( ntt*歡迎使用*);printf( n_Welcom_to_Use);printf(n*_*);printf( n)
8、;printf( n);printf( n);G=SaveGraph(G);prim(G,G.vexs0);printf( tt*結果存入KruskalResult.dat中,按任意鍵返回*n);c=getchar();c=getchar();system(cls);interface();system(PAUSE);std:cinc;continue;case 4:system(cls);system(color 1d);printf( n);printf( ntt*歡迎使用*);printf( n_Welcom_to_Use);printf(n*_*);printf( n);printf(
9、 n);printf( n);G=SaveGraph(G);G=kruskal(G);printf( tt*結果存入PrimResult.dat中,按任意鍵返回*n);c=getchar();c=getchar();system(cls);interface();system(PAUSE);std:cinc;continue;case 5:return;3模塊設計3.1 模塊設計系統(tǒng)主要包含主程序模塊和其它操作模塊。其調用關系如下圖所示。choice函數(shù)interface函數(shù)開始 3.2 系統(tǒng)子模塊與其功能設計本系統(tǒng)共設計了5個子模塊,各程序的函數(shù)名與功能說明如下:(1) CreateGrap
10、h(G); /創(chuàng)建圖模塊(2) SaveGraph(G); /存儲圖模塊(3) Print(G); /輸出圖模塊(4) Kruskal(G); /kruskal算法求最小生成樹模塊 Kruskal算法的基本思想是: 1、若網(wǎng)絡G的邊數(shù)en1,則G即為所求的最小生成樹,否則,一定有en-1. 2、將網(wǎng)絡的e條邊按權值自小到大順序排列。 3、將網(wǎng)絡G中的邊都去掉,只留下n個孤立頂點作為初始的最小生成樹T,再按邊的排放順序逐個考察,若與當前E(T)中的邊不構成圈,便將它加入到邊集E(T),直至E(T)中邊數(shù)滿n-1為止。(5)Prim(G); /prim算法求最小生成樹模塊 Prim算法是另一種求最
11、小生成樹的方法,它的基本思想是按權值局部最小逐次將頂點和邊加入到T中,直至V(T)滿n個頂點為止。Prim算法步驟為: 1、設最小生成樹T的V(T)和E(T)均為空。 2、從頂點集V(G)中任取一頂點加到頂點集V(T)中。 3、在與V(T)中各頂點相關的所有邊中,取一條權值最小的邊(Vi,Vj),其中,Vi包含于V(T),Vj包含于V(T)。 4、(Vi,Vj)加入到E(T)中,將頂點Vj加入到V(T)中。 5、若V(T)已滿n個頂點,則算法終止,否則轉步驟(3)。 3.3 系統(tǒng)模塊之間的調用關系系統(tǒng)的5個子模塊之間的主要調用關系如下圖所示:開始SaveGraph函數(shù)將圖存儲到文件Print函
12、數(shù)輸出網(wǎng)絡信息Kruskal函數(shù)算出最小生成樹Prim函數(shù)算出最小生成樹CreateGraph函數(shù)建立網(wǎng)絡信息SaveGraph函數(shù)將圖存儲到文件中SaveGraph函數(shù)將圖存儲到文件SaveGraph函數(shù)將圖存儲到文件結束Choice函數(shù)選擇相應功能Interface函數(shù)顯示菜單,等待選擇4詳細設計 4.1 數(shù)據(jù)結構設計 系統(tǒng)采用鄰接矩陣存儲信息,定義如下: / 圖的數(shù)據(jù)結構typedef struct MGraph /建立圖MGraph()memset(vexs, 0, MAX_VERTEX_NUM);Vertex vexsMAX_VERTEX_NUM;/ 城市名稱intAdjMatrix
13、 arcs;/ 網(wǎng)絡條數(shù)int vexnum; / 圖的當前頂點數(shù)(城市總數(shù))int arcnum; / 圖的當前弧數(shù)(網(wǎng)絡總數(shù)) MGraph;/ 記錄從頂點集U到V-U的代價最小的邊的輔助數(shù)組定義typedef struct Temp /輔助數(shù)組Temp()lowcost = 0;Vertex adjvex; /當前點int lowcost;/權值closedgeMAX_VERTEX_NUM;typedef struct CityNumberCityNumber()memset(cityNam, 0, 1024);char cityNam1024;CityNum;CityNum* Home
14、town = new CityNum20;/ 若G中存在頂點u,則返回該頂點在圖中位置;否則返回-1。#includeint LocateVex(MGraph G,Vertex u) int i;for(i = 0; i G.vexnum; +i)if( strcmp(u, G.vexsi) = 0)return i;return -1; 4.2 系統(tǒng)主要模塊設計 4.2.1 CreateGraph函數(shù)1)創(chuàng)建鄰接矩陣以存儲圖的容。 2)填充矩陣,即輸入城市間網(wǎng)絡的狀況,以方便使用prim算法或kruskal算法求 出最經(jīng)濟的架設方法。 程序如下: / 采用數(shù)組(鄰接矩陣)表示法,構造無向網(wǎng)G
15、。 MGraph CreateGraph(MGraph &G)int i = 0, j = 0, k = 0, w = 0; Vertex va,vb; /路徑的兩個節(jié)點 printf(nntt*建立城市間網(wǎng)絡信息*); printf(請輸入城市的總數(shù):n); scanf(%d,&G.vexnum ); printf(請輸入城市間的網(wǎng)絡數(shù):n); scanf(%d,&G.arcnum); printf(請輸入%d個城市的名稱(%d個字符):n,G.vexnum); for(i=0;iG.vexnum;+i) / 構造頂點向量 scanf(%s,G.vexsi); for(i=0;iG.vexn
16、um;+i) / 初始化鄰接矩陣 for(j=0;jG.vexnum;+j) G.arcsij=65535; / 65535為無窮大 printf(請輸入%d條網(wǎng)絡的兩個城市信息城市1和城市2的距離(以空格作為間隔): n,G.arcnum); for(k=0;kG.arcnum;+k) scanf(%s %s %d,va,vb,&w);/ 輸入城市1城市2名稱與其距離 i=LocateVex( G, va);/定位權值位置 j=LocateVex( G, vb); G.arcsij=G.arcsji=w; /對稱 return G; 4.2.2 SaveGraph函數(shù)1)為了避免每次都重復輸
17、入信息,用文件存儲圖的容。 2)如果沒有文件則建立文件,并把圖的容存儲到文件中。 3)如果文件存在,則從文件中讀取圖的容到存,以便完成其他操作。程序如下: MGraph SaveGraph(MGraph G) /輸入容存儲在smalltree.dat int i,j;FILE*fp;fp=fopen(smalltree.dat,rt);if(fp=NULL)G=CreateGraph(G);fp=fopen(smalltree.dat,wt);fprintf(fp,%dn,G.vexnum); /存城市樹fprintf(fp,%dn,G.arcnum); /存網(wǎng)絡數(shù)for(i=0;iG.vex
18、num;+i)fprintf(fp,%stn,G.vexsi);/存城市名稱for(i=0;iG.vexnum;+i)/存儲鄰接矩陣for(j=0;jG.vexnum; +j)if(G.vexsi = G.vexsj)G.arcsij = 0; /到它自己fprintf(fp,%s_%s_%dn,G.vexsi, G.vexsj, G.arcsij);elsefprintf(fp,%s_%s_%dn,G.vexsi, G.vexsj, G.arcsij);rewind(fp);std:cout存儲成功!。輸入任意鍵返回.std:endl;char c = getchar();else /從文件
19、中讀取網(wǎng)的信息存到存中printf(tt*正在讀取文件中.*n);fscanf(fp,%dn, &G.vexnum); fscanf(fp,%dn, &G.arcnum);char tempBuffer1024;memset(tempBuffer, 0, 1024);for(i=0; iG.vexnum; +i)fgets(tempBuffer, 1023, fp);strcpy(Hometowni.cityNam,tempBuffer);char CityA1024;int Lenth = 0;memset(CityA, 0, 1024); for(i=0; iG.vexnum; +i) f
20、or(j=0;j=0; n-)int intkeynum = 0;switch(tempCityNamen)case 0:intkeynum = 0;break;case 1:intkeynum = 1;break;case 2:intkeynum = 2;break;case 3:intkeynum = 3;break;case 4:intkeynum = 4;break;case 5:intkeynum = 5;break;case 6:intkeynum = 6;break;case 7:intkeynum = 7;break;case 8:intkeynum = 8;break;cas
21、e 9:intkeynum = 9;break;Lenth += intkeynum*X;X = X*10;G.arcsij = Lenth;printf(tt*讀取成功.t*n);fclose(fp);return G; 4.2.3 print函數(shù)Print函數(shù)完成輸出功能,將存中圖的容輸出到屏幕上程序如下:MGraph print(MGraph G)/將輸入的網(wǎng)絡基本信息打到屏幕上int i,j;printf(城市總數(shù):%dt, G.vexnum);printf(網(wǎng)絡條數(shù):%dn, G.arcnum);printf(城市名稱:tn);for(i=0; iG.vexnum; i+)/prin
22、tf(%s_,G.vexsi);std:coutHometowni.cityNam;printf(n);printf(各個城市間的距離:n);printf(n);printf(n);for(i=0;iG.vexnum;+i)for(j=0;jG.vexnum;+j)printf(%s_%s_距離:%d公里n,G.vexsi+G.vexnum,G.vexsj+G.vexnum,G.arcsij);std:cout輸入任意鍵返回.std:endl;char c = getchar();return G; 4.2.4 kruskal函數(shù)用kruskal算法求出最小生成樹,即最經(jīng)濟的假設方案程序如下:
23、MGraph kruskal(MGraph G) /結果存儲在KruskalResult.datint setMAX_VERTEX_NUM,i,j;int k=0,a=0,b=0,min=G.arcsab;FILE*ffp;ffp=fopen(KruskaiResult.dat,wt);for(i=0;iG.vexnum;i+)seti=i;printf(最短網(wǎng)絡路徑為:n);while(kG.vexnum-1)for(i=0;iG.vexnum;+i) /從G.arcsij中找到權值最小的for(j=i+1;jG.vexnum;+j)if(G.arcsijmin)min=G.arcsij;/
24、min中存最小權值a=i;b=j;if(seta!=setb) /如果a和b值不同則輸出printf(%s-%st距離:%dn,G.vexsa,G.vexsb,G.arcsab);/輸出生成樹各邊f(xié)printf(ffp,%s-%sn,G.vexsa,G.vexsb);k+;for(i=0;iG.vexnum;i+) /輸出后變成一樣值,下次將不會輸出if(seti=setb)seti=seta; min=G.arcsab=G.arcsba=65535; /輸出過的權值變?yōu)樽畲笾祌ewind(ffp);fclose(ffp);return G; 4.2.5 prim函數(shù)用prim算法求出最小生成
25、樹,即最經(jīng)濟的假設方案程序如下:/ 用普里姆算法從第u個頂點出發(fā)構造網(wǎng)G的最小生成樹T,輸出T的各條邊void prim(MGraph G,Vertex u) /結果存儲在PrimResult.dat中int i,j,k=0;closedge close;FILE*fpp;fpp=fopen(PrimResult.dat,wt);k=LocateVex(G,u);for(j=0;jG.vexnum;+j) / 輔助數(shù)組初始化 strcpy(closej.adjvex,u);closej.lowcost=G.arcskj;closek.lowcost=0; / 初始,U=u printf(最短網(wǎng)
26、絡路徑為:n);for(i=1;iG.vexnum;+i) / 選擇其余G.vexnum-1個頂點 k=minimum(G,close); / 求出T的下一個結點:第K頂點 printf(%s-%s)n,closek.adjvex,G.vexsk);fprintf(fpp,%s-%sn,closek.adjvex,G.vexsk); / 輸出生成樹的邊 closek.lowcost=0; / 第K頂點并入U集 for(j=0;jG.vexnum;+j)if(G.arcskjclosej.lowcost) / 新頂點并入U集后重新選擇最小邊strcpy(closej.adjvex,G.vexsk
27、);closej.lowcost=G.arcskj;rewind(fpp);fclose(fpp);5調試分析系統(tǒng)主界面運行如圖1所示。各子功能測試運行結果如下:運行程序,出現(xiàn)歡迎界面,見下圖:5.1 城市間網(wǎng)絡信息的建立5.2顯示通信網(wǎng)絡的基本信息5.3 查詢最短網(wǎng)絡路徑 6用戶使用說明 1、運行程序,出現(xiàn)歡迎界面; 2、按1進入輸入系統(tǒng),如果文件沒有存儲城市網(wǎng)絡容,則由用戶從鍵盤讀入,讀入后自動保存到文件中,按任意鍵即可返回歡迎界面; 3、如果文件已經(jīng)存儲了城市網(wǎng)絡容,則顯示文件已保存到文件中,按任意鍵返回; 4、輸入2可以在屏幕上輸出存儲在文件的城市間網(wǎng)絡信息,顯示完畢后按任意鍵可返 回
28、歡迎見面; 5、按3和4分別可實現(xiàn)kruskal算法和prim算法求出最小生成樹,即最低經(jīng)濟代價建設通信網(wǎng)絡(距離最短的最經(jīng)濟),顯示完畢后按任意鍵返回歡迎界面; 6、按5退出程序。7參考文獻 數(shù)據(jù)結構理論與實踐 永斌 (核心算法prim算法以與kruskal算法來源于此) 數(shù)據(jù)結構(C語言)實踐教程 胡元義 數(shù)據(jù)結構 嚴蔚敏、吳偉民 Visual C+課程設計案例精選與編程指導 清華、朱紅8 對所設計的軟件進行自我評價,如創(chuàng)新點、未解決的問題等情況說明:1、對圖的邏輯結構與存儲結構有了更深刻的認識; 2、對prim算法和kruskal算法亦有了更深刻的認識; 3、了解并掌握數(shù)據(jù)結構與算法的設
29、計方法,具備初步的獨立分析和設計能力,深入了解了模塊化的程序設計步驟; 4、kruskal算法應該用堆排序然后再找路徑,但未能實現(xiàn); 5、輸入方面如果沒有將網(wǎng)絡信息存入文件,由鍵盤輸入信息時,如果手誤輸錯了無法更改,只能重新輸入,而且如果輸入中文,最后顯示時會出現(xiàn)亂碼,只能用英文輸入; 6、kruskal算法的實現(xiàn)仍有問題,結果存在錯誤,而且只能實行到第三步,到第四步時會出現(xiàn)程序關閉的提醒;9、程序源代碼:#include#include#include #define MAX_VERTEX_NUM20/ 最大頂點個數(shù)#define MAX_NAME3 / 頂點字符串的最大長度+1 typed
30、ef int intAdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef char VertexMAX_NAME;/ 鄰接矩陣的數(shù)據(jù)結構/ 圖的數(shù)據(jù)結構typedef struct MGraph /建立圖MGraph()memset(vexs, 0, MAX_VERTEX_NUM);Vertex vexsMAX_VERTEX_NUM;/ 城市名稱intAdjMatrix arcs;/ 網(wǎng)絡條數(shù)int vexnum; / 圖的當前頂點數(shù)(城市總數(shù))int arcnum; / 圖的當前弧數(shù)(網(wǎng)絡總數(shù)) MGraph;/ 記錄從頂點集U到V-U的代價最小的邊的輔
31、助數(shù)組定義typedef struct Temp /輔助數(shù)組Temp()lowcost = 0;Vertex adjvex; /當前點int lowcost;/權值closedgeMAX_VERTEX_NUM;typedef struct CityNumberCityNumber()memset(cityNam, 0, 1024);char cityNam1024;CityNum;CityNum* Hometown = new CityNum20;/ 若G中存在頂點u,則返回該頂點在圖中位置;否則返回-1。#includeint LocateVex(MGraph G,Vertex u) int
32、 i;for(i = 0; i G.vexnum; +i)if( strcmp(u, G.vexsi) = 0)return i;return -1;/ 采用數(shù)組(鄰接矩陣)表示法,構造無向網(wǎng)G。MGraph CreateGraph(MGraph &G)int i = 0, j = 0, k = 0, w = 0;Vertex va,vb; /路徑的兩個節(jié)點printf(nntt*建立城市間網(wǎng)絡信息*);printf(請輸入城市的總數(shù):n);scanf(%d,&G.vexnum ); printf(請輸入城市間的網(wǎng)絡數(shù):n);scanf(%d,&G.arcnum); printf(請輸入%d個
33、城市的名稱(%d個字符):n,G.vexnum);for(i=0;iG.vexnum;+i) / 構造頂點向量 scanf(%s,G.vexsi);for(i=0;iG.vexnum;+i) / 初始化鄰接矩陣 for(j=0;jG.vexnum;+j)G.arcsij=65535; / 65535為無窮大 printf(請輸入%d條網(wǎng)絡的兩個城市信息城市1和城市2的距離(以空格作為間隔): n,G.arcnum);for(k=0;kG.arcnum;+k)scanf(%s %s %d,va,vb,&w);/ 輸入城市1城市2名稱與其距離 i=LocateVex( G, va);/定位權值位置
34、j=LocateVex( G, vb);G.arcsij=G.arcsji=w; /對稱return G;MGraph SaveGraph(MGraph G) /輸入容存儲在smalltree.datint i,j;FILE*fp;fp=fopen(smalltree.dat,rt);if(fp=NULL)G=CreateGraph(G);fp=fopen(smalltree.dat,wt);fprintf(fp,%dn,G.vexnum); /存城市樹fprintf(fp,%dn,G.arcnum); /存網(wǎng)絡數(shù)for(i=0;iG.vexnum;+i)fprintf(fp,%stn,G.v
35、exsi);/存城市名稱for(i=0;iG.vexnum;+i)/存儲鄰接矩陣for(j=0;jG.vexnum; +j)if(G.vexsi = G.vexsj)G.arcsij = 0; /到它自己fprintf(fp,%s_%s_%dn,G.vexsi, G.vexsj, G.arcsij);elsefprintf(fp,%s_%s_%dn,G.vexsi, G.vexsj, G.arcsij);rewind(fp);std:cout存儲成功!。輸入任意鍵返回.std:endl;char c = getchar();else /從文件中讀取網(wǎng)的信息存到存中printf(tt*正在讀取文
36、件中.*n);fscanf(fp,%dn, &G.vexnum); fscanf(fp,%dn, &G.arcnum);char tempBuffer1024;memset(tempBuffer, 0, 1024);for(i=0; iG.vexnum; +i)fgets(tempBuffer, 1023, fp);strcpy(Hometowni.cityNam,tempBuffer);char CityA1024;int Lenth = 0;memset(CityA, 0, 1024); for(i=0; iG.vexnum; +i) for(j=0;j=0; n-)int intkeyn
37、um = 0;switch(tempCityNamen)case 0:intkeynum = 0;break;case 1:intkeynum = 1;break;case 2:intkeynum = 2;break;case 3:intkeynum = 3;break;case 4:intkeynum = 4;break;case 5:intkeynum = 5;break;case 6:intkeynum = 6;break;case 7:intkeynum = 7;break;case 8:intkeynum = 8;break;case 9:intkeynum = 9;break;Le
38、nth += intkeynum*X;X = X*10;G.arcsij = Lenth;printf(tt*讀取成功.t*n);fclose(fp);return G;MGraph print(MGraph G)/將輸入的網(wǎng)絡基本信息打到屏幕上int i,j;printf(城市總數(shù):%dt, G.vexnum);printf(網(wǎng)絡條數(shù):%dn, G.arcnum);printf(城市名稱:tn);for(i=0; iG.vexnum; i+)/printf(%s_,G.vexsi);std:coutHometowni.cityNam;printf(n);printf(各個城市間的距離:n);printf(n);printf(n);for(i=0;iG.vexnum;+i)for(j=0;jG.vexnum;+j)printf(%s_%s_距離:%d公里n,G.vexsi+G.vexnum,G.vexsj+G.vexnum,G.arcsij);std:cout輸入任意鍵返回.std:endl;char c = getchar();return G;MGraph krus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車位抵押借款合同模板
- 詳細裝修合同范本
- 個體工商戶共同投資開店合同協(xié)議
- 合同編號土地使用權及開發(fā)權轉讓協(xié)議
- 商業(yè)綜合體停車庫管理合同
- 4《地球 我們的家園》第二課時 教學設計-2023-2024學年道德與法治六年級下冊統(tǒng)編版
- 供應鏈管理合同目錄
- 建筑工程項目居間服務合同模板
- 技術開發(fā)合同(三)
- Module 5 Unit 1 Will you take your ball tomorrow(教學設計)-2023-2024學年外研版(一起)英語三年級下冊
- 巴黎歐萊雅中國員工手冊
- 貨幣的起源發(fā)展演變和貨幣的面值課件
- 建筑業(yè)10項新技術概述
- 急性腎挫裂傷護理查房課件
- 腦出血個案護理計劃
- 幼兒園優(yōu)質公開課:小班音樂《兩只小小鴨》原版有聲動態(tài)課件
- 小學勞動與技術二年級下冊-06-制印版課件
- 濕地環(huán)境生態(tài)工程
- 初中男生心理健康教育講座課件
- 快手申訴文本
- 現(xiàn)金調撥系統(tǒng)操作手冊教學課件
評論
0/150
提交評論