火車調(diào)度問題PROJECT_第1頁
火車調(diào)度問題PROJECT_第2頁
火車調(diào)度問題PROJECT_第3頁
火車調(diào)度問題PROJECT_第4頁
火車調(diào)度問題PROJECT_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Projectl火車車廂重排調(diào)度年級:2014級學院:電子與信息工程學院班級:智能科學與技術、自動化姓名: 14350046姓名: 14350045姓名: 14350069【題目要求】.問題:一列火車要將n節(jié)車廂分別送往n個車站,車站按照n,n-1,???,1的編號次序經(jīng)過車站。假設車廂的編號就是其目的地車站的編號。.要求:給定一個任意的車廂排列次序。重新排列車廂,使其按照從1到n的次序排列。規(guī)定重排調(diào)度時車廂只能從入軌到緩沖鐵軌,或者從緩沖鐵軌到出軌?!緮?shù)據(jù)結構與算法】本程序?qū)5目臻g設為25(可以通過全局常量maxstack直接修改),棧的最大數(shù)量設為100(可以直接修改)??梢蕴幚砣我馍儆?00個任意次序車廂的火車重排調(diào)度問題。流程圖如圖1:當邕豐拓;菱是出站條住naw_nut是理在直淳山江的車里專的人車那次才捽存詫人奴迎中為三,將本空砥認綾其到道答曰當邕豐拓;菱是出站條住naw_nut是理在直淳山江的車里專的人車那次才捽存詫人奴迎中為三,將本空砥認綾其到道答曰的出:將號軍品答人最沖軌道物電造遢車用其人出站軌道n-a誨主尋加八合逕的檔E=now_口uti=r+l【測試數(shù)據(jù)、結果及分析】實驗1:順序輸入車廂節(jié)數(shù):10車廂順序:12345678910測試結果如圖2。

--直道直,-B道韋B道百■->融邛站站蘇站四站站站站施司出出出由出出出出出WO]-到狗虱電乳51到虱一^^打辦制赤動動力赤蘇蘇拜中多多多多務能才多多多不---8一/.—另一同一F士二71-1/.Wi道道7a道道道道道道11由八7加批軌-一^^軌軌鐺*如坨站站站相更卻站斕道H5嗝廂廂廂廂后第卬<1“/4三三二二一二_二一=三三陣、k2三2t-2t-2t-333Mtl/..11...■3l2345678?l0輸2第第弟第第第第第第笫用0主百-Processexltzedafter14_99secondsijit:hvEtui'nualueG括按任意鍵繼續(xù).一圖2實驗1測試結果測試序列重排成功,使用0個棧,返回值正常,實驗程序運行良好。實驗2:倒序輸入車廂節(jié)數(shù):10車廂順序:10987654321測試結果如圖3。1.1i1111ir?)直jfi直)直一?)直.1.1i1111ir?)直jfi直)直一?)直..1-1.■.1_1.■.1-1.■.1_1.■.1_1.■.1_1.■.1-1.■一道宿道道道道道道皿勃勃勃勃勃勃勃勃F〉占占占占占占占占.■1坨一工比-lA-l^.-l北.,死工比.-I次,加上學堂多多多學多學彳C11111111-11直2mr-m.-T-m.口.口.-mL口直道韋道道道道道道j鐘4?站洞汩汩泗W狗Q鋤5疑動動動動動動動WWW轉(zhuǎn)6tLiAAAAAAA—-V...-7—IV8..1,F滔-也滔一滔一受滔酒滔甬府麗麗可甩府可府^」AF戶FF壞片F(xiàn)修月FF阱FFF月日」仁名晡喈個19976543212345678911與pgFgFgFa-FgFB-Fa-PB-ps-FgpgpgPS-FS-FS-pgFgpgFITT■?耳手?耳與孽?耳?好耳.耳?耳年?耳?耳」等耳.牙耳年ttt.苴閆L0主IEL0門寸等號等號等等4寸等彳等號等等一尋等等等條.■T1■T1.■..-.1..-.■.-.1..-.■..-.■..-.1..-.-..-.1..-.--.■.1..-.■.1..--..-.■.1.--■.1圖3實驗2測試結果測試序列重排成功,使用1個棧,實驗程序運行良好。實驗3:亂序輸入

車廂節(jié)數(shù):10車廂順序:32457896110測試結果如圖4。回1S1超殍削說即削密捌招鬻Q智宜九九九九九九九九多到手H*rAHr-wrwr下手于7節(jié)年節(jié)s^5^¥』tJ£yJF:"去11234456.S午口—口—甲口口□1口直作:旦1.蘆:1道直苴一直^1111-'11I'1,1.1d,1—1FW--—taitl-1--ITAITL-—--■-Li-7"1-J_T7?_w??J";『一^7i77_VJ";_.1引---□-口!]mIn二FT-適在琮:乏囂雄機:士&上_?<44_j4.,屋J-左土工一止土上一4132457用9Gli2M4567由守1gryHPJnr皆rjjnrjhlr?grjjn「--hlr號rja-rhr皆pa-r.hr?M「-a-r.Jnp-a-p圖4實驗3測試結果測試序列重排成功,使用7個棧,實驗程序運行良好。實驗4:亂序輸入車廂節(jié)數(shù):2513171810222120車廂順序:25264537239191112161415131718102221208241測試結果如圖5。1317181022212&&24ISJroI0甲工rtp,㈣信立追,三M信也追嘴趣提瞿瞌由濯電,-3J.iJ-Atlhi儲J,iJ-At1/印新f;l租租“甘岳到□T租盯Eq可引電一站站總站七站母西且用蚌地衛(wèi)的站于上隹鼻底,匕藤峰市垃隹G-W力-胃G-耳力-而力156&;872:12,"aTITI乳到一到田1|乳非/涯加加聯(lián)¥萬1道:HIrBS取sJ連:H4il.前法運運連清法道運乏運茫道道弟三垂引劫洋尋垃引劫#胃缸處證阻算犯中l(wèi)y吊m-L牡丁不山如迎爰修同-5/5方.不————————————n±a1223215LH-如軌軌軌就軌軌軌軌襄軌瓢軌枕軌?^5^^^5^G^h^=-BIm.m甲m—mmlm—甲B口—EHa—甲口口J.亙1-J-I、II-I-11.1I1、T-、-I-IT-.1JI.'i^i\-JI^J—.1JII-L-『eg.TilI:Tgrlta第器.算gg、i;q『 :o1木222513矛■fiG7HB9n11-上111b1I-道宿話道道通道話道道運道宿語道MV.后兔暮若箝■指再哈討■!?■,?」二/iJT:,工工田―一匕噌。年用及正相短巳是\'rS一工王..王宇一生王王..王.手芋一../-22645372¥illiiillii22282i2345G789iiilliiill222222工如2&RI&E&E&r-y口&RI&EgE&r-Jnl2&RI&EgE&r-Jn口&RI&EgE&P-H1I1&RI&EgE&4fr-ll&rl&RI&Eg4fr-ll&rl&口白Eg。寧口&|2&|2&EgRh-F&n&qB-EgRh-F&P&!3&Egr一°田-也甘田ffl-田-也丑ffljffl-ffl'-田LcglL^LJMJJFI./TF.LL^LLSJ—rl./TgJ^FF—廠-LI用-用-亙區(qū)用-用-qpJ二片」=L-」=」F」F.」一t-=」=」F」F.」_LJ.r二一二月口后El—A£」_LtJ一二47」「d-4J-F-J-4J4J4J4LULUUUJ4LJ4I-J4J-.TJrftrwr4-F3rTJr3i^TJ12&4537B0210trr4福租-省用』用桶-田田-田植舊幅-巴TH4圭十±±11十十±11十十±1十..,■01234567sa>@12345^圖5實驗4測試結果測試序列重排成功,使用13個棧,實驗程序運行良好。實驗五:亂序輸入車廂節(jié)數(shù):50車廂順序:4647503832292139137122223011314132036192351444445133582440728431627346421526101793318254948測試結果如下(由于太長無法完全截圖,只能粘貼):請輸入火車車廂的個數(shù):50請輸入火車車廂次序(中間有間隔):4647503832292139137122223011314132036192351444445133582440728431627346421526101793318254948將第46車廂移動到緩沖軌道1將第47車廂移動到緩沖軌道2將第50車廂移動到緩沖軌道3將第38車廂移動到緩沖軌道1將第32車廂移動到緩沖軌道1將第29車廂移動到緩沖軌道1將第21車廂移動到緩沖軌道1將第39車廂移動到緩沖軌道2將第1車廂從入站軌道移動到出站軌道將第37車廂移動到緩沖軌道2將第12車廂移動到緩沖軌道1將第22車廂移動到緩沖軌道2將第2車廂從入站軌道移動到出站軌道將第30車廂移動到緩沖軌道3將第11車廂移動到緩沖軌道1將第31車廂移動到緩沖軌道4將第41車廂移動到緩沖軌道5將第3車廂從入站軌道移動到出站軌道將第20車廂移動到緩沖軌道2將第36車廂移動到緩沖軌道5將第19車廂移動到緩沖軌道2將第23車廂移動到緩沖軌道3將第5車廂移動到緩沖軌道1將第14車廂移動到緩沖軌道2將第44車廂移動到緩沖軌道6將第4車廂從入站軌道移動到出站軌道將第45車廂移動到緩沖軌道7將第5車廂從緩沖軌道1移動到出站軌道將第13車廂移動到緩沖軌道2將第35車廂移動到緩沖軌道5將第8車廂移動到緩沖軌道1將第24車廂移動到緩沖軌道4將第40車廂移動到緩沖軌道6將第7車廂移動到緩沖軌道1將第28車廂移動到緩沖軌道5將第43車廂移動到緩沖軌道7將第16車廂移動到緩沖軌道3將第27車廂移動到緩沖軌道5將第34車廂移動到緩沖軌道6將第6車廂從入站軌道移動到出站軌道將第42車廂移動到緩沖軌道7將第7車廂從緩沖軌道1移動到出站軌道將第15車廂移動到緩沖軌道3將第8車廂從緩沖軌道1移動到出站軌道將第26車廂移動到緩沖軌道5將第10車廂移動到緩沖軌道1將第17車廂移動到緩沖軌道4將第9車廂從入站軌道移動到出站軌道將第33車廂移動到緩沖軌道6將第10車廂從緩沖軌道1移動到出站軌道將第18車廂移動到緩沖軌道5將第11車廂從緩沖軌道1移動到出站軌道將第25車廂移動到緩沖軌道6將第12車廂從緩沖軌道1移動到出站軌道將第49車廂移動到緩沖軌道8將第13車廂從緩沖軌道2移動到出站軌道將第48車廂移動到緩沖軌道8將第14車廂從緩沖軌道2移動到出站軌道將第15車廂從緩沖軌道3移動到出站軌道將第16車廂從緩沖軌道3移動到出站軌道將第17車廂從緩沖軌道4移動到出站軌道將第18車廂從緩沖軌道5移動到出站軌道將第19車廂從緩沖軌道2移動到出站軌道將第20車廂從緩沖軌道2移動到出站軌道將第21車廂從緩沖軌道1移動到出站軌道將第22車廂從緩沖軌道2移動到出站軌道將第23車廂從緩沖軌道3移動到出站軌道將第24車廂從緩沖軌道4移動到出站軌道將第25車廂從緩沖軌道6移動到出站軌道將第26車廂從緩沖軌道5移動到出站軌道將第27車廂從緩沖軌道5移動到出站軌道將第28車廂從緩沖軌道5移動到出站軌道將第29車廂從緩沖軌道1移動到出站軌道將第30車廂從緩沖軌道3移動到出站軌道將第31車廂從緩沖軌道4移動到出站軌道將第32車廂從緩沖軌道1移動到出站軌道將第33車廂從緩沖軌道6移動到出站軌道將第34車廂從緩沖軌道6移動到出站軌道將第35車廂從緩沖軌道5移動到出站軌道將第36車廂從緩沖軌道5移動到出站軌道將第37車廂從緩沖軌道2移動到出站軌道將第38車廂從緩沖軌道1移動到出站軌道將第39車廂從緩沖軌道2移動到出站軌道將第40車廂從緩沖軌道6移動到出站軌道將第41車廂從緩沖軌道5移動到出站軌道將第42車廂從緩沖軌道7移動到出站軌道將第43車廂從緩沖軌道7移動到出站軌道將第44車廂從緩沖軌道6移動到出站軌道將第45車廂從緩沖軌道7移動到出站軌道將第46車廂從緩沖軌道1移動到出站軌道將第47車廂從緩沖軌道2移動到出站軌道將第48車廂從緩沖軌道8移動到出站軌道將第49車廂從緩沖軌道8移動到出站軌道將第50車廂從緩沖軌道3移動到出站軌道共用8個緩沖軌道結果分析:本程序可對少于100個任意次序車廂的火車進行調(diào)度。進行多次亂序重排,實驗程序均成功運行,且結果全部與人工計算相符合,實驗程序滿足實驗要求?!痉止ぁ⒇暙I%、自我評分】王金頂:算法設計,主程序,調(diào)試,實驗報告34%100分王帆:算法設計,棧程序,測試,實驗報告33%100分張宇航:算法設計,流程圖設計,實驗報告33%100分【項目總結】本次題目較為簡單,考察了我們對棧的學習與理解情況,同時也讓我們復習了類的相關知識。大家都為終于能夠解決實際問題而感到開心。在算法設計中也遇到了很多問題,如我們發(fā)現(xiàn)標準庫中的棧占用內(nèi)存過大,因此導致程序在處理車廂數(shù)很大時經(jīng)常崩潰。因此我們自己寫了一個簡單的棧,節(jié)省了大量內(nèi)存,因此能夠處理更加復雜的問題。我們也增加了好幾處錯誤處理代碼,增加了程序的容錯性。如棧滿、??宅F(xiàn)象等。但是該程序在處理不連續(xù)序列時會出現(xiàn)問題,這也是我們一直在改進的地方,但是輸出一直不穩(wěn)定,有時正確有時錯誤,因此在程序清單中刪除了這一部分??傮w而言,本次的實驗讓我們對自己有了更大的信心?!境绦蚯鍐巍縧.stack.h/*文件名:stack.h作用:棧的類定義*/#ifndefSTACK_H#defineSTACK_Hconstintmaxstack=25;classStack{public:Stack();boolempty()const;boolfull()const;inttop()const;voidpush(intitem);voidpop();private:intcount;intentry[maxstack];);#endif2.stack.cpp/*文件名:stack.cpp作用:棧的類成員函數(shù)的實現(xiàn)*/#include<iostream>#include"stack.h"usingnamespacestd;voidStack::push(intitem)(if(count<maxstack)(entry[count++]=item;))voidStack::pop()(if(count>0)(--count;))intStack::top()const(if(count>0)(returnentry[count-1];)elsereturn0;)boolStack::empty()const(if(count>0)returnfalse;returntrue;)boolStack::full()const(if(count==maxstack)returntrue;returnfalse;)Stack::Stack()(count=0;3.train.cpp/*文件名:train.cpp作用:主程序*/#include<iostream>#include"stack.h"usingnamespacestd;intmain()(intn,now_out=1;intstack_count=0;cout<<"請輸入火車車廂的個數(shù):"<<endl; 〃輸入數(shù)據(jù)并儲存cin>>n;intarray[n];cout<<"請輸入火車車廂次序(中間有間隔):"<<endl;for(inti=0;i<n;i++)(cin>>array[i];}〃輸入部分Stackstack_array[100];for(inti=0;i<n;i++)(if(array[i]==now_out) 〃判斷當前車廂數(shù)是否恰好滿足輸出條件(cout<<"將第''〈〈now—oukv"車廂從入站軌道移動到出站軌道"<<endl;〃如果滿足直接輸出 一now_out++;continue;}else //不滿足則將數(shù)壓入合適的棧(for(intj=0;j<stack_count+1;j++)( 一if(stack_array[j].empty())(一c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論