




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、江蘇科技大大學(xué)實驗報告(20122/20113學(xué)年第第2學(xué)期) 課程名稱: 人工智智能 學(xué)生姓名: 陳嘉嘉生 學(xué)生學(xué)號: 104005012211 院 系: 數(shù)理學(xué)院院 專 業(yè): 信息與計計算科學(xué) 2013年年 5 月 18 日實驗一:知知識表示方方法一、實驗?zāi)磕康臓顟B(tài)空間表表示法是人人工智能領(lǐng)領(lǐng)域最基本本的知識表表示方法之之一,也是是進一步學(xué)學(xué)習(xí)狀態(tài)空空間搜索策策略的基礎(chǔ)礎(chǔ),本實驗驗通過牧師師與野人渡渡河的問題題,強化學(xué)學(xué)生對知識識表示的了了解和應(yīng)用用,為人工工智能后續(xù)續(xù)環(huán)節(jié)的課課程奠定基基礎(chǔ)。二、問題描描述有n個牧師師和n個野野人準備渡渡河,但只只有一條能能容納c個個人的小船船,為了防防止
2、野人侵侵犯牧師,要要求無論在在何處,牧牧師的人數(shù)數(shù)不得少于于野人的人人數(shù)(除非非牧師人數(shù)數(shù)為0),且且假定野人人與牧師都都會劃船,試試設(shè)計一個個算法,確確定他們能能否渡過河河去,若能能,則給出出小船來回回次數(shù)最少少的最佳方方案。三、基本要要求輸入:牧師師人數(shù)(即即野人人數(shù)數(shù)):n;小船一次次最多載人人量:c。輸出:若問問題無解,則則顯示Faailedd,否則,顯顯示Succcesssed輸出出一組最佳佳方案。用用三元組(X1, X2, X3)表示渡渡河過程中中的狀態(tài)。并用箭頭頭連接相鄰鄰狀態(tài)以表表示遷移過過程:初始始狀態(tài)-中間狀態(tài)態(tài)-目標標狀態(tài)。例:當(dāng)輸入入n=2,cc=2時,輸輸出:2221
3、-1110-211-0100-0221-0000其中:X11表示起始始岸上的牧牧師人數(shù);X2表示起始始岸上的野野人人數(shù);X3表示小船船現(xiàn)在位置置(1表示示起始岸,00表示目的的岸)。要求:寫出出算法的設(shè)設(shè)計思想和和源程序,并并以圖形用用戶界面實實現(xiàn)人機交交互,進行行輸入和輸輸出結(jié)果,如如:Pleasse innput n: 22 Pleease inpuut c: 2Succeessedd or Failled?: SucccesssedOptimmal PProceeduree: 2221-1110-211-0100-0221-0000四、實驗組組織運行要要求本實驗采用用集中授課課形式,每每
4、個同學(xué)獨獨立完成上上述實驗要要求。五、實驗條條件每人一臺計計算機獨立立完成實驗驗。六、實驗代代碼Main.cpp#incllude #incllude RivverCrrossiing.hhusingg nameespacce sttd;/主函數(shù)數(shù)void mainn()RiveerCroossinng:SShowIInfo();int n, cc;couttn;couttc;RiveerCroossinng riiverCCrosssing(n, cc);riveerCroossinng.soolve();systtem(pausse);RiverrCrosssingg.h#praggma
5、oncee#incllude /船classs Boattpubliic:stattic int cc;int pasttor;/牧師int savaage;/野人Boatt(intt passtor, intt savvage);/河岸狀狀態(tài)classs Stattepubliic:stattic int nn;int iPasstor;/牧師數(shù)數(shù)量int iSavvage;/野人數(shù)數(shù)量int iBoaatAtSSide;/船所在在河岸Statte *ppPrevviouss;/前一個個狀態(tài)Statte(innt paastorr, innt saavagee, innt booatAttS
6、idee);int getTTotallCounnt();/獲得此此岸總?cè)藬?shù)數(shù)booll cheeck();/檢查人人數(shù)是否符符合實際booll isSSafe();/檢查是否否安全Statte opperattor + (Booat &boatt);Statte opperattor - (Booat &boatt);booll opeeratoor = (Sttate &staate);/過河問問題classs RiveerCroossinngprivaate:std:lisst opennListt, clloseLList;Statte enndStaate;booll movve(S
7、ttate *nowwStatte, BBoat *boaat);/進行一一次決策Statte* ffindIInLisst(sttd:llist &lisstToCCheckk, Sttate &staate);/檢查某某狀態(tài)節(jié)點點是否在列列表中voidd priint(SStatee *enndStaate);/打印結(jié)結(jié)果publiic:stattic voidd ShoowInffo();RiveerCroossinng(innt n, intt c);booll sollve();/求解問問題;RiverrCrosssingg.cppp#incllude RivverCrrossiin
8、g.hh#incllude #incllude #incllude usingg nameespacce sttd;/類靜態(tài)態(tài)變量定義義int SStatee:n = 0;int BBoat:c = 0;/*=Meethodds foor cllass Boaat=*/Boat:Boaat(innt pasttor, int savaage)thiss-paastorr = ppastoor;thiss-saavagee = ssavagge;/*=Meethodds foor cllass Staate=*/構(gòu)造函函數(shù)Statee:Sttate(int pasttor, int savaag
9、e, int boattAtSiide)thiss-iPPastoor = pasttor;thiss-iSSavagge = savaage;thiss-iBBoatAAtSidde = boattAtSiide;thiss-pPPreviious = NUULL;/獲取此此岸總?cè)藬?shù)數(shù)int SStatee:geetTottalCoount()retuurn iiPasttor + iSaavagee;/檢查人人數(shù)是否在在0到n之間bool Statte:ccheckk()retuurn (iPasstor =0 & iiPasttor = 0 & iiSavaage = x2/彼岸岸的安全
10、:(n-xx1) = 0 | (n-x11) = (n-x2)/將上上述條件聯(lián)聯(lián)立后得到到如下條件件retuurn (iPasstor = 00 | iPasstor = nn | iPasstor = iiSavaage);/重載+符號,表表示船開到到此岸Statee Statte:ooperaator+(Boaat &boaat)Statte reet(iPPastoor + boatt.passtor, iSaavagee + bboat.savaage, iBoaatAtSSide + 1);ret.pPreeviouus = thiss;retuurn rret;/重載-符號,表表示
11、船從此此岸開走Statee Statte:ooperaator-(Boaat &boaat)Statte reet(iPPastoor - boatt.passtor, iSaavagee - bboat.savaage, iBoaatAtSSide - 1);ret.pPreeviouus = thiss;retuurn rret;/重載=符號,比比較兩個節(jié)節(jié)點是否是是相同的狀狀態(tài)bool Statte:ooperaator=(Sttate &staate)retuurn (thiss-iPPastoor = staate.iiPasttor & thhis-iSavvage = sstat
12、ee.iSaavagee & thiss-iBBoatAAtSidde = staate.iiBoattAtSiide);/*=Methhods for classs RRiverrCrosssingg=*/顯示信信息void RiveerCroossinng:SShowIInfo()coutt*enndl;coutt 牧牧師與野人人過河問題題求解 eendl;coutt by 104005012211 陳陳嘉生 endll;coutt*iiBoattAtSiide = 1) /船在此岸岸/過河的人人越多越好好,且野人人優(yōu)先innt coount = noowStaate-getTTotall
13、Counnt();coount = (BBoat:c = coount ? coount : Booat:c);foor (intt cappticyy = ccountt; caapticcy = 1; -caapticcy) ffor (int ii = 00; i iBooatAttSidee = 0) /船在彼彼岸/把船開回回來的人要要最少,且且牧師優(yōu)先先foor (intt cappticyy = 11; caapticcy = Boaat:cc; +captticy) ffor (int ii = 00; i iBBoatAAtSidde = 1) desstStaate = ne
14、ww Statte(*nowwStatte - *boaat);/船離開開此岸 ellse if (nowwStatte-iiBoattAtSiide = 0) desstStaate = neww Statte(*nowwStatte + *boaat);/船開到到此岸if (desttStatte-ccheckk() /檢查人人數(shù)if (*deestSttate = eendSttate) /是否達到到目標狀態(tài)態(tài)clloseLList.pushh_bacck(deestSttate);prrint(desttStatte);reeturnn truee;/找到結(jié)結(jié)果 eelse if (d
15、destSStatee-issSafee() /檢查是是否安全iff (!ffindIInLisst(oppenLiist, *desstStaate) & !finddInLiist(ccloseeListt, *ddestSStatee) /檢查是是否在表中中/添加沒沒出現(xiàn)過的的狀態(tài)節(jié)點點到opeen表oopenLList.pushh_bacck(deestSttate);rreturrn falsse;deleete ddestSStatee;retuurn falsse;/檢查給給定狀態(tài)是是否存在于于列表中Statee* RivverCrrossiing:finddInLiist(ll
16、ist &lisstToCCheckk, Staate &statte)for (lisst:iteeratoor itte = listtToChheck.begiin(); itee != listtToChheck.end(); +itee) if (*iite = sttate)reeturnn *itte;retuurn NULLL;/根據(jù)達達到的目標標狀態(tài),回回溯打印出出求解過程程void RiveerCroossinng:pprintt(Staate *endSStatee)coutt=enndl;if (!enddStatte) couutSearrch ffaileed!en
17、ddl; ellse couutSearrch ssucceessedd!endll;couutOptiimal Proccedurre: enndl;Staate *pStaate = enddStatte;staack st;/用棧將將鏈表逆序序,以便輸輸出whiile (pStaate) stt.pussh(pSStatee);pSStatee = ppStatte-ppPrevviouss;intt couunt = 0;whiile (!st.emptty() pSStatee = sst.toop();stt.popp();cooutiPasstor,iSSavagge,iBoaa
18、tAtSSide;iff (stt.sizze() 0)ccout ;iff (+counnt % 5 = 0)/每五個個步驟換行行ccoutenddl;couuteendl;couutTotaal moove: ccountt - 11enndl;coutt=enndl;七、實驗結(jié)結(jié)果實驗二:九九宮重排一、實驗?zāi)磕康腁*算法是是人工智能能領(lǐng)域最重重要的啟發(fā)發(fā)式搜索算算法之一,本本實驗通過過九宮重排排問題,強強化學(xué)生對對A*算法法的理解與與應(yīng)用,為為人工智能能后續(xù)環(huán)節(jié)節(jié)的課程奠奠定基礎(chǔ)。二、問題描描述給定九宮格格的初始狀狀態(tài),要求求在有限步步的操作內(nèi)內(nèi),使其轉(zhuǎn)轉(zhuǎn)化為目標標狀態(tài),且且所得到的的解
19、是代價價最小解(即移動的的步數(shù)最少少)。如:三、基本要要求輸入:九宮宮格的初始始狀態(tài)和目目標狀態(tài)輸出:重排排的過程,即即途徑的狀狀態(tài)四、實驗組組織運行要要求本實驗采用用集中授課課形式,每每個同學(xué)獨獨立完成上上述實驗要要求。五、實驗條條件每人一臺計計算機獨立立完成實驗驗。六、實驗代代碼Main.cpp#incllude #incllude NinneGriid.husingg nameespacce sttd;/主函數(shù)數(shù)void mainn()NineeGridd:ShhowInnfo();striing sstartt, ennd;couttPPleasse innput the initti
20、al statte: (ex:11347066582)staart;couttPPleasse innput the targget sstatee: (eex:12238044765)endd;NineeGridd ninneGriid(sttart, endd);nineeGridd.sollve();systtem(pausse);NineGGrid.h#praggma oncee#incllude #incllude #incllude usingg nameespacce sttd;#defiine SPACCE 0#defiine AT(s, x, y) (s)(x) * 3 +
21、(y)enum Movee UP = 0, DOWNN = 11, LEEFT = 2, RIGHHT = 3;/九宮格格狀態(tài)classs Stattepubliic:stattic Statte *ppEndSStatee;/指指向目標狀狀態(tài),用于于評價h的的值striing ggrid;/用字字符串保存存當(dāng)前棋盤盤狀態(tài)int x, yy;/空空格所在位位置int movees;/到此狀態(tài)態(tài)的移動次次數(shù)int valuue;/價值Statte *ppPrevviouss;/前前一個狀態(tài)態(tài)Statte(sttringg &grrid, Statte *ppPrevviouss = NNULL)
22、;int getRReverrsedCCountt();/獲取取逆序數(shù)voidd evaaluatte();/評價價函數(shù)booll cheeck(MMove movee);/檢查是否否可以移動動Statte taakeMoove(MMove movee);/實施移動動,生成子子狀態(tài)/重載載=運算算符,判斷斷兩個狀態(tài)態(tài)是否相等等inliine booll opeeratoor = (Sttate &staate) reeturnn griid = staate.ggrid; ;/九宮重重排問題classs NineeGriddprivaate:vecttor oppenLiist, closse
23、Lisst;Statte sttartSStatee, enndStaate;clocck_t starrtTimme;booll commpareeReveersedd();/比較逆逆序數(shù)奇偶偶性是否相相同booll takkeMovve(Sttate *nowwStatte, MMove movee);/進行一次次決策Statte* ffindIInLisst(veectorr &lisstToCCheckk, Sttate &Staate);/檢查查某狀態(tài)節(jié)節(jié)點是否在在列表中voidd priint(SStatee *enndStaate);/打印印結(jié)果/用于于排序stattic boo
24、ll greeaterr_thaan(coonst Statte *sstatee1, cconstt Statte *sstatee2);publiic:stattic voidd ShoowInffo();/顯示示信息NineeGridd(strring &staart, striing &destt);booll sollve();/求求解問題;NineGGrid.cpp#incllude NinneGriid.h#incllude #incllude #incllude usingg nameespacce sttd;Statee* Staate:pEnddStatte = NULLL
25、;/*=Methhods for classs SStatee=*/構(gòu)造函函數(shù)Statee:Sttate(striing &gridd, Staate *pPreeviouus)thiss-grrid = griid;thiss-pPrrevioous = pPrrevioous;if (thiss-pPPreviious)thiis-mmovess = ppPrevviouss-mooves + 1;elseethiis-mmovess = 00;thiss-vaalue = 0;evalluatee();for (intt i = 0; i 3; +i) forr(int jj = 00;
26、 j 3; +jj) iff (AT(gridd, i, j) = SSPACEE) xx = ii;yy = jj;rreturrn;bool Statte:ccheckk(Movve movee)swittch (movee) casee UP:if (x - 1 = 3)reeturnn falsse;breeak;casee LEFTT:if (y - 1 = 3)reeturnn falsse;breeak;retuurn truee;Statee Statte:ttakeMMove(Movee movee)int desttX, ddestYY;swittch (movee) ca
27、see UP:desstX = x - 1;desstY = y;breeak;casee DOWNN:desstX = x + 1;desstY = y;breeak;casee LEFTT:desstX = x;desstY = y - 1;breeak;casee RIGHHT:desstX = x;desstY = y + 1;breeak;striing ttGridd = ggrid;charr t = AT(tGGrid, desstX, desttY);AT(ttGridd, deestX, desstY) = ATT(tGrrid, x, yy);AT(ttGridd, x,
28、 y) = t;retuurn Statte(tGGrid, thiis);void Statte:eevaluuate()if (!pEnndStaate)retturn;int g = movees, hh = 00;for (intt i = 0; i 3; +i) forr (intt j = 0; j gridd, i, j)/+h;iff(AT(grrid, i, jj) = SPAACE)ccontiinue;foor (intt ii = 0; ii 3; +iii) ffor (int jjj = 0; jjj griid, iii, jjj) h += abss(i - i
29、i) + aabs(jj - jjj);thiss-vaalue = g + h;/求該狀狀態(tài)的逆序序數(shù)/逆序數(shù)數(shù)定義為:/不不計空格,將將棋盤按順順序排列,/對對于griidi,存在jjgriddi,即即為逆序。/所所有棋子的的逆序總數(shù)數(shù)為逆序數(shù)數(shù)。int SStatee:geetRevverseedCouunt()int counnt = 0;for (intt i = 0; i 9; +i) if(griddi = SSPACEE)coontinnue;forr (intt j = 0; j griddj)+couunt;retuurn ccountt;/*=Meethodds foor
30、 cllass NinneGriid=*/顯示信信息void NineeGridd:ShhowInnfo()coutt*enndl;coutt 九九宮重排問問題求解 enndl;coutt by 104005012211 陳陳嘉生 eendl;coutt*enndl;/構(gòu)造函函數(shù)NineGGrid:NinneGriid(sttringg &staart, striing &destt): sttartSStatee(staart), enddStatte(deest)Statte:ppEndSStatee = &endSStatee;endSStatee.evaaluatte();/當(dāng)初始始狀
31、態(tài)和目目標狀態(tài)的的逆序數(shù)的的奇偶性相相同時,問問題才有解解bool NineeGridd:coomparreRevverseed()retuurn sstarttStatte.geetRevverseedCouunt() % 22 = endSStatee.gettReveerseddCounnt() % 2;/解決問問題bool NineeGridd:soolve()coutt=enndl;if (!commpareeReveersedd() couut初始狀態(tài)態(tài)和目標狀狀態(tài)的逆序序數(shù)的奇偶偶性不同,問問題無解!eendl; ellse couutStarrt seearchhing.end
32、dl;staartTiime = cloock();/取取得開始搜搜索的時間間opeenLisst.puush_bback(new Statte(sttartSStatee);whiile(!opennListt.emppty() /獲取一個個狀態(tài)為當(dāng)當(dāng)前狀態(tài)Sttate *nowwStatte = opennListt.bacck();oppenLiist.ppop_bback();clloseLList.pushh_bacck(noowStaate);/從當(dāng)前狀狀態(tài)開始決決策foor (intt i = 0; i cheeck(mmove) if (ttakeMMove(nowSState
33、e, moove)retuurn truee;prinnt(NUULL);retuurn falsse;/實施一一步?jīng)Q策,將將得到的新新狀態(tài)添加加到列表,返返回是否達達到目標狀狀態(tài)bool NineeGridd:taakeMoove(SStatee *nowwStatte, Movve movee)/獲得得下一個狀狀態(tài)Statte *ddestSStatee = nnew Statte(nowSStatee-taakeMoove(mmove);if (*desstStaate = enndStaate) /是是否達到目目標狀態(tài)clooseLiist.ppush_backk(desstStaat
34、e);priint(ddestSStatee);retturn truee;/找到到結(jié)果 ellse if (!fiindInnListt(opeenLisst, *desttStatte) & !ffindIInLisst(clloseLList, *deestSttate) /添加沒出出現(xiàn)過的狀狀態(tài)節(jié)點到到openn表oppenLiist.ppush_backk(desstStaate);soort(oopenLList.begiin(), opeenLisst.ennd(), greeaterr_thaan);reeturnn falsse;deleete ddestSStatee;re
35、tuurn falsse;/檢查給給定狀態(tài)是是否存在于于列表中Statee* NinneGriid:ffindIInLisst(veectorr &lisstToCCheckk, Staate &statte)for (vecctor:iteeratoor itte = listtToChheck.begiin(); itee != listtToChheck.end(); +itee) if (*iite = sttate)reeturnn *itte;retuurn NULLL;/根據(jù)達達到的目標標狀態(tài),回回溯打印出出求解過程程void NineeGridd:prrint(Statte *
36、enddStatte)if (!enddStatte) couutSearrch ffaileed!enddl; ellse flooat eelapssed = (ffloatt)cloock() - sstarttTimee) / CLOCCKS_PPER_SSEC * 10000;/取得搜索索花費時間間couutSearrch ssucceessedd!endll;couutElappsed timee: elaapsedd(ms)enndl;couutTotaal moove: mmovessenndl;couutOptiimal Proccedurre: enndl;Staate *
37、pStaate = enddStatte;staack st;/用棧將將鏈表逆序序,以便輸輸出whiile (pStaate) stt.pussh(pSStatee);pSStatee = ppStatte-ppPrevviouss;/33行一起輸輸出,更直直觀一點strring out3;intt couunt = 0;whiile (!st.emptty() pSStatee = sst.toop();stt.popp();foor (intt i = 0; i 3; +i) ffor(int jj = 00; j grrid, i, jj) = SPAACE)outi += ;elsee
38、outi += ATT(pSttate-griid, ii, j);outi += ;iff (stt.sizze() != 00) oout00 += ;oout11 += - ;oout22 += ;iff (+counnt % 5 = 0 | stt.sizze() = 00) ffor (int ii = 00; i 3; +ii) couttouutienndl;outi = ;ccoutenddl;coutt=valuue statte2-valuue;七、實驗結(jié)結(jié)果實驗三:專專家系統(tǒng)一、實驗?zāi)磕康膶<蚁到y(tǒng)是是人工智能能的重要研研究內(nèi)容和和組成部分分之一,本本實驗通過過設(shè)計一個個簡
39、單的專專家系統(tǒng),加深學(xué)生對專家系統(tǒng)的組成結(jié)構(gòu)和構(gòu)造原理的理解,并能轉(zhuǎn)化為具體的應(yīng)用。二問題描描述設(shè)計一個簡簡單的專家家系統(tǒng),可根據(jù)屬屬性的輸入入值自動識識別事物的的具體類別別,內(nèi)容自自擬。如一個動動物專家系系統(tǒng)可由以以下11個個屬性組成成,根據(jù)屬屬性的對應(yīng)應(yīng)值(Y或或N),可可判斷動物物的具體種種類,運行行結(jié)果如下下圖所示:三、實驗組組織運行要要求本實驗采用用開放授課課形式,每每個同學(xué)獨獨立完成上上述實驗要要求。四、實驗條條件每人一臺計計算機獨立立完成實驗驗。五、實驗代代碼Main.cpp#incllude Exppert.h#incllude usingg nameespacce sttd;
40、void mainn()Expeert:ShowwInfoo();Expeert eexperrt;if (expeert.iinitDDiseaaseLiist() exppert.diaggnosiis(); ellse couut初始化失失??!enddl;systtem(pausse);Experrt.h#praggma oncee#incllude #incllude usingg nameespacce sttd;/疾病信信息定義typeddef struuctstriing nname;vecttor sympptomLList; Disseasee;/疾病診診斷專家系系統(tǒng)clas
41、ss Expeertproteectedd:vecttor m_DDiseaaseLiist;/疾病列列表booll reaadFille();/讀取取文件booll opttionSSelecct(coonst striing &quesstionn);/提示用戶戶選擇publiic:stattic voidd ShoowInffo();/顯示示信息booll iniitDisseaseeListt();/初始化化疾病列表表Diseease* adddDiseease(consst striing &namee);/添加疾病病voidd adddSympptom(Diseease *diss
42、easee, coonst striing &sympptom);/添添加疾病的的癥狀voidd diaagnossis();/診診斷;Experrt.cppp#incllude Exppert.h#incllude #incllude #incllude usingg nameespacce sttd;/顯示信信息void Expeert:ShowwInfoo()coutt*enndl;coutt 疾疾病診斷專專家系統(tǒng) enndl;coutt by 104005012211 陳陳嘉生 eendl;coutt*enndl;/初始化化疾病列表表,返回是是否初始化化成功bool Expeert:i
43、nittDiseeaseLList()_trry retturn readdFilee();_exxceptt(truee) couut知識庫文文件(Diiseasse.txxt)解析析錯誤!enndl;retturn falsse;/讀取DDiseaase.ttxt文件件,獲取疾疾病信息bool Expeert:readdFilee()fstrream ioFiile;ioFiile.oopen(Disseasee.txtt, fsttreamm:inn);if (!ioFFile.is_oopen() couut無法打開開知識庫文文件(Diiseasse.txxt)!strrInpuut;
44、if (strrInpuut.siize() = 0)coontinnue;if (strrInpuut.frront() = & strIInputt.bacck() = ) /有包包裹的是疾疾病名稱sttrInpput = strrInpuut.suubstrr(1,sstrInnput.sizee() - 2);pDDiseaase = adddDiseease(strIInputt); eelse /其余的是是癥狀名稱稱adddSymmptomm(pDiiseasse, sstrInnput);ioFiile.cclosee();retuurn truee;/添加一一個疾病,返返回此疾
45、病病信息的指指針Diseaase* Expeert:addDDiseaase(cconstt striing &namee)Diseease diseease;e = nname;m_DiiseasseLisst.puush_bback(diseease);retuurn &m_DiiseasseLisst.baack();/添加疾疾病的癥狀狀void Expeert:addSSympttom(DDiseaase *diseease,consst striing &sympptom)diseease-symmptommListt.pussh_baack(ssymptt
46、om);/診斷函函數(shù)void Expeert:diaggnosiis()/用戶戶輸入的第第一個癥狀狀striing ssympttomInnput;/用戶戶有的癥狀狀和沒有的的癥狀vecttor sympptomHHave, symmptommNotHHave;/搜索索的結(jié)果列列表vecttor fiindLiist;coutt【癥癥狀詢問】enndl;couttenndl請請輸入癥狀狀: (或或不確確定以以開始模糊糊搜索)symmptommInpuut;if (sympptomIInputt = 不確定定) /添添加所有疾疾病到fiindLiist列表表中forr (unssigneed i
47、nt ii = 00; i m_DiseeaseLList.sizee(); +i) fiindLiist.ppush_backk(&m_DiseeaseLListi); ellse /添添加有此癥癥狀的疾病病到finndLisst列表中中forr (unssigneed int ii = 00; i m_DiseeaseLList.sizee(); +i) Diiseasse *ppDiseease = &mm_DisseaseeListti;foor (unssigneed int jj = 00; j sympptomLList.sizee(); +j) iif (ssympttomInnput = ppDiseease-symmptommListtj) finddListt.pussh_baack(ppDiseease);/添添加輸入的的癥狀到ssympttomHaave列表表中symmptommHavee.pussh_baack(ssympttomInnput);for (vecctor:iiteraator ite = fiindLiist.bbeginn(); ite != ffindLList.end(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年C修工作負責(zé)人考試題及答案
- 2025年教導(dǎo)班主任面試題及答案
- 2025年消防操作員的考試題庫
- 2025年藥品庫房管理考試題及答案
- 2025年安徽郵政速遞考試題庫
- 2025年刑法學(xué)面試題庫及答案
- 兒童康復(fù)患兒的護理常規(guī)
- 投資入股合作協(xié)議書范本
- 房屋借用協(xié)議
- 2025年CATV QAM調(diào)制器合作協(xié)議書
- 護理題庫-基層衛(wèi)生崗位練兵和技能競賽試題
- 分銷商合作協(xié)議書范本(3篇)
- 馬宗素《傷寒鈐法》全文
- 大型商業(yè)項目精裝修工程管控要點講解
- 基于CHO細胞的單抗生產(chǎn)
- 黃新波-智能變電站在線監(jiān)測課件
- 陜西康城藥業(yè)股份有限公司中藥、植物提取及固體制劑項目環(huán)評報告
- GB/T 12599-2002金屬覆蓋層錫電鍍層技術(shù)規(guī)范和試驗方法
- JG-017結(jié)構(gòu)實體位置與尺寸偏差檢測作業(yè)指導(dǎo)書
- 壓鑄件常見問題-氣孔
- 化工廠員工電氣安全教育培訓(xùn)課件
評論
0/150
提交評論