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

正文內(nèi)容

課程設計報告--一元多項式計算vs迷宮求解-資料下載頁

2025-01-19 00:03本頁面
  

【正文】 azegrid[i][mazecolumn+1]=39。139。} for(i=1。i=mazerow。i++) //初始化迷宮 for(j=1。j=mazecolumn。j++) mazegrid[i][j]=39。039。 //設置為可通過 printf(輸入障礙墻的坐標(輸入坐標0,0結束):)。 while(1){scanf(%d%d,amp。m,amp。n)。 //接收障礙的坐標 if(m==0) //輸入0 break。 //結束坐標的輸入 if(m=0||n=0||mmazerow||n=mazecolumn) { //越界 printf(坐標越界,重新輸入!\n)。 continue。} mazegrid[m][n]=39。139。 //迷宮障礙用‘1’標記 } return 1。}int Pass(MazeType *maze,Coordinate pos) { //判斷n指定坐標是否可通過 if(mazegrid[][]==39。039。) //可通 return 1。 else return 0。}int MarkerPass(MazeType *maze,Coordinate pos) {//標記可通過 mazegrid[][]=39。239。 //39。239。表示可通 return 1。}Coordinate NextCoord(Coordinate pos,int i) {//獲取下一位置 switch(i) {//1,2,3,4分別代表東南西北方向 case 1: //向右查找 +=1。 break。 case 2: //向下查找 +=1。 break。 case 3: //向左查找 =1。 break。 case 4: //向上查找 =1。 break。 default: exit(0)。} return pos。}int MarkerNoPass(MazeType *maze,Coordinate pos) {//曾走過但不是通路標記并返回OK mazegrid[][]=39。339。 //‘3’表示曾走過但不通 return 1。}int MazePath(MazeType *maze,Coordinate start,Coordinate end) {//從迷宮maze的入口到出口查找路徑 Stack s。 //定義棧 Coordinate pos。 int curstep。 //當前序號1,2,3,4分別表示東南西北方向 MazeNode e。 InitStack(amp。s)。 //初始化棧 pos=start。 //從入口位置開始查找路徑 curstep=1。 //探索第一步 do{if(Pass(maze,pos)) {//若指走位置可通過 MarkerPass(maze,pos)。 //標記能通過 =curstep。 //保存步數(shù) =pos。 //保存當前坐標 =1。 //向右探測 Push(amp。s,e)。 //將節(jié)點添加到棧中(保存路徑) if(==amp。amp。==) {//若當前位置是出口坐標DestroyStack(amp。s)。 //釋放棧已用空間return 1。 //返回查找成功 } else {//與出口坐標不同 pos=NextCoord(pos,1)。 //向右探測 curstep++。 //增加前進步數(shù) } } else {//若指定位置不通(為障礙墻或已走過) if(!StackEmpty(amp。s)) {//若棧不為空(之前有走過的位置) Pop(amp。s,amp。e)。 //出棧(返回上一步的位置) while(==4amp。amp。!StackEmpty(amp。s)) {//上一步4個方向都得測完, 且棧不為空MarkerNoPass(maze,)。 //標記該位置不為空Pop(amp。s,amp。e)。 //出棧(返回上一步) } if(4) //若為探測完4個方向 ++。 //準備探測下一個方向 Push(amp。s,e)。 //將當前節(jié)點入棧(保存當前位置,準備下一位置的探測) pos=NextCoord(,)。 //查找下一個應該探測位置的坐標 } } }while(!StackEmpty(amp。s))。 //程序運行到這里,表示沒有能通達的路徑 DestroyStack(amp。s)。 //釋放棧占用的空間 return 0。 //返回失敗 } void PrintMaze(MazeType *maze) {//輸出迷宮 int i,j。 printf(\n迷宮路徑(0表示通路):\n)。 for(i=0。i=mazerow+1。i++){for(j=0。j=mazecolumn+1。j++){if(mazegrid[i][j]==39。139。) //若是障礙墻 printf(1)。 else if(mazegrid[i][j]==39。239。) //若是可通路徑 printf(0)。 else //其他位置 printf( )。} printf(\n)。}}void Maze(void){MazeType maze。 //迷宮數(shù)據(jù) Coordinate start, end。 char d。 printf(創(chuàng)建空棧\n)。 if(!MazeInit(amp。maze)) {//初始化并創(chuàng)建迷宮 printf(\n創(chuàng)建迷宮結構時出錯!\n)。 exit(1)。 //初始化錯誤 } do {//輸入迷宮入口坐標 printf(\n輸入迷宮入口坐標:)。 scanf(%d%d,amp。,amp。)。 if(||){ printf(輸入的坐標越界,重新輸入!)。 continue。 } }while(||)。 do {// 輸入迷宮出口坐標 printf(\n輸入迷宮出口坐標:)。 scanf(%d%d,amp。,amp。)。 if(||){ printf(輸入的坐標越界,重新輸入!)。 continue。} }while(||)。 if(!MazePath(amp。maze,start,end)) //調(diào)用函數(shù) printf(\n沒有路徑可由入口到達出口!\n)。 //查找路徑 else PrintMaze(amp。maze)。 //打印找到的路徑 getch()。} int main(){char ucflag。char ucchar[2]。do{printf( 1:一元多項式求解.\n)。 printf( 2:迷宮求解.\n)。 printf( 0:退出.\n)。 printf(請選擇:\n)。 scanf( %c,amp。ucflag)。 gets(ucchar)。 if(strlen(ucchar)) ucflag=39。339。 switch(ucflag39。039。){ case 0: printf(謝謝使用!\n)。 break。 case 1: Polynomial_solve()。 break。 case 2: Maze()。 break。 default: printf(沒有改選擇!\n)。 break。} }while(ucflag!=39。039。)。 return 0。
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1