freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計迷宮問題(存儲版)

2025-07-16 01:47上一頁面

下一頁面
  

【正文】 正在退出系統(tǒng)。)。end)。scanf(%d,amp。 scanf(%d,amp。//輸入不是回車,終止 system(cls)。//調(diào)用手動 print_maze(m,n)。 printf(請輸入行數(shù): )。 printf(\n 請輸入行數(shù): )。 printf( ☆ 退出迷宮系統(tǒng) 請按: 4\n\n)。 int i,m,n,cycle=0。 printf(↓ )。 //結(jié)束循環(huán) break。en)。 printf(↑ )。 } if(iInput == 224)//用戶按下了控制鍵 { iInput = _getch()。 MoveCursorTo(iCol * 2,iRow)。 nJ++) { if(iMap[nI][nJ] == 1) { printf(■ )。 SetConsoleCursorPosition(hStd, crPlayer)。//循環(huán)尋找前點(diǎn) printf((%d,%d)\n,)。(maze[][]==0)) visit(,maze)。//右 順時針,依次東南西北探索 if((+1m)amp。 enqueue(p)。 enqueue(visit_point)。//障礙 if(maze[i][j]==3) printf(☆ )。 printf(迷宮通路 (用☆表示 )如下所示: \n\t)。im。j++) { maze[i][j]=0。im。i++) for(j=0。 struct point { int row,col,predecessor。而后便是收尾工作,成員們依舊盡心盡力,最終,經(jīng)過我們一周多的努力,我們有了實驗成果。由于數(shù)據(jù)結(jié)構(gòu)這門課本身就比較晦澀和難以理解,我們從剛開始選題就陷入了僵局。 printf(你的輸入有誤 !\n)。 printf(制作人: \n\n\t\t 劉 暢 \n\n\t\t 周潔 \n\n\t\t 周胡勇 \n\n\n)。 迷宮游戲 地圖代碼如下: int iMap[10][20] = {{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1}, {1,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1}, {1,0,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,1,0,1}, {1,0,0,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,1}, {1,0,1,1,0,1,0,1,0,1,1,1,1,0,1,0,1,0,1,1}, {1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,1}, {1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1}, {1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}}。 第 16 頁 共 31 頁 for(i=0。 自動生成迷宮代碼如下: void zidong_maze(int m,int n)//自動生成迷宮 { int i,j。im。 } 注:具體源代碼 見附錄 第 11 頁 共 31 頁 第 3 章 程序運(yùn)行結(jié)果與分析 調(diào)試分析 在調(diào)試過程中,首先使用的是棧進(jìn)行存儲,但是產(chǎn)生的路徑是多條或不是最短路徑,所以通過算法比較,改用 隊列。 case 2 : 請輸入行列數(shù) (如果超出預(yù)設(shè)范圍則提示重新輸入 ) zidong_maze(m,n)。 maze[][]==3。為方便操作使其為全局變量 迷宮中節(jié)點(diǎn)類型及隊列類型: struct point{int row,col,predecessor}que[512] (1)手動生成迷宮 void shoudong_maze(int m,int n) {定義 i,j 為循環(huán)變量 for(i=m) for(j=n) 輸入 maze[i][j]的值 } (2)自動生成迷宮 void zidong_maze(int m,int n) {定義 i,j 為循環(huán)變量 for(i=m) for(j=n) maze[i][j]=rand()%2 // 由于 rand() 產(chǎn) 生 的 隨 機(jī) 數(shù) 是 從 0 到 RAND_MAX,RAND_MAX 是定義在 中的 ,其值至少為 32767),要產(chǎn)生從 X到Y(jié)的數(shù) ,只需要這樣寫: k=rand()%(YX+1)+X。 注:其中 M, N 分別表示迷宮最大行、列數(shù),本程序 M、 N 的缺省值為 339,當(dāng)然,用戶也可根據(jù)需要,調(diào)整其大小。設(shè)計一個計算機(jī)程序?qū)θ我庠O(shè)定的矩形迷宮如下圖 A 所示,求出一條從入口到出口的通路,或得出沒有通路的論。假設(shè)以隊列記錄“當(dāng)前路徑”,則 隊列中存放的是“當(dāng)前路徑上最后一個通道塊”。所謂“下一位置”指的是當(dāng)前位置四周 4 個方向(上、下、左、右)上相鄰的方塊。老鼠經(jīng)過多次試驗最終學(xué)會走通迷宮的路線。根據(jù)用戶輸入的迷宮的大小(我們設(shè)置的最大值為 40 可以根據(jù)要求調(diào)解), 迷宮中存在通路和障礙,為了方便迷宮的創(chuàng)建,可用 0表示通路,用 1表示障礙,這樣迷宮就可以用 0、 1矩陣來描述; 迷宮是一個矩形區(qū)域,可以使用二維數(shù)組表示迷宮,這樣迷宮的每一個位置都可以用其行列號 來唯一指定,但是二維數(shù)組不能動態(tài)定義其大小,我們可以考慮先定義一個較大的二維數(shù)組 maze[M+2][N+2],然后用它的前 m行 n列來存放元素,即可得到一個 m n的二維數(shù)組,這樣 (0,0)表示迷宮入口位置, (m1,n1)表示迷宮出口位置。 系統(tǒng)總體設(shè)計 第 5 頁 共 31 頁 進(jìn)入主界面手動生成迷宮自動生成迷宮迷宮游戲退出迷宮系統(tǒng)進(jìn)入迷宮游戲輸入迷宮行列數(shù)輸入迷宮障礙矩陣生成迷宮給出路徑輸入迷宮行列數(shù)生成迷宮給出路徑 圖 (1)構(gòu)建一個二維數(shù)組 maze[M+2][N+2]用于存儲迷宮矩陣 (2)自動或手動生成迷宮,即為二維數(shù)組 maze[M+2][N+2]賦值 (3)構(gòu)建一個隊列用于存儲迷宮路徑 (4)建立迷宮節(jié)點(diǎn) struct point,用于存儲迷宮中每個節(jié)點(diǎn)的訪問情況 (5)實現(xiàn)搜索算法 (6)屏幕上顯示操作菜單 (1)主函數(shù) main() (2)手動生成迷宮函數(shù) shoudong_maze() (3)自動生成迷宮函數(shù) zidong_maze() (4)將迷宮打印成圖形 print_maze() (5)打印迷宮路徑 (若存在路徑 ) result_maze() (6)迷宮游戲函數(shù) youxi() (7)入隊 enqueue() 第 6 頁 共 31 頁 (8)出隊 dequeue() (9)判斷隊列是否為空 is_empty() (10)訪問節(jié)點(diǎn) visit() (11)搜索迷宮路徑 mgpath() 系統(tǒng)詳細(xì)設(shè)計 實現(xiàn)概要設(shè)計中定義的所有數(shù)據(jù)類型及操作的偽代碼算法 迷宮矩陣類型: int maze[M+2][N+2]。 while(!=1) {p=queue[]。 if(X!=0) result_maze(m,n)。break。 for(i=0。上面測試?yán)又校窂綖椋?0,0)→ (0,1)→ (0,2)→ (0,3)→ (0,4)→ (1,4)→ (2,4)→( 3,4)→( 4,4),在圖 中用“☆”表示。j++) maze[i][j]=rand()%2。 } 迷宮游戲主界面 圖 迷宮游戲主界面 迷宮游戲過程 第 17 頁 共 31 頁 圖 迷宮游戲過程圖 用戶可用上下左右鍵控制迷宮中人物行走方向,控制人物走出迷宮。 第 18 頁 共 31 頁 圖 特別鳴謝界面 部分代碼如下: system(cls)。 default:printf(\n)。 第 20 頁 共 31 頁 第 4 章 心得總結(jié) 這是我們小組成員第一次以團(tuán)隊合作的形式參與程序設(shè)計
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1