全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5382
推到 Plurk!
推到 Facebook!

騎士巡邏問題...

尚未結案
tjp6u6
一般會員


發表:1
回覆:0
積分:0
註冊:2005-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-01 01:33:55 IP:140.126.xxx.xxx 未訂閱
我的程式大約都寫出來了...可是一直有bug~~ 可否請大大幫忙找問題~~    ><  我是新手~~    ================================    #include #include #define N 5 typedef struct loc { int x, y, d, k; } LOC_S; LOC_S stack[N*N]; int top = 0; int a[8] = {1, 2, 2, 1, -1, -2, -2, -1}; int b[8] = {2, 1, -1, -2, -2, -1, 1, 2}; int chess[N][N]; int main(void) { int i, j; int k = 1, x = 0, y = 0, d, n_x, n_y; LOC_S knight; for (i = 0; i < N; i ) for (j = 0; j < N; j ) chess[i][j] = 0; chess[x][y] = k ; d = 0; while (k <= N * N) { for ( ;d < 8; d ) { n_x = x a[d]; n_y = y b[d]; if (in_range(n_x,n_y)&&chess[n_y][n_x]==0)/*判斷有沒有超過陣列索引值,若超過的話傳回fault並跳出FOR迴圈*/ { chess[n_y][n_x] = k; knight.x = x; knight.y = y; knight.d = d; knight.k = k; push(knight); d = 0; x = n_x; y = n_y; k ; break; } } if (d == 8) { knight = pop(); x = knight.x; y = knight.y; d = knight.d; k = knight.k; n_x = x a[d]; n_y = y b[d]; chess[n_y][n_x] = 0; d ; } } for(i=1;i<=5;i ) { for(j=1;j<=5;j ) { printf(" =", chess[i][j]); } printf("\n"); } return 0 ; getch(); } stack* creatstack(void) //新增節點的副程式 { stack* st; st=(stack*)malloc(sizeof(stack)); st->count=0; st->top=NULL; return st; } stack* push(stack* stack,int x,int y,int d)//新增座標內容到stack裡 { stack_node* newptr; newptr=(stack_node*)malloc(sizeof(stack_node)); newptr->x=x; //把新節點放到stack的第一個位置 newptr->y=y; newptr->d=d; newptr->link=stack->top; stack->top=newptr; return stack; } stack* pop(stack* stack) //刪除節點 { stack_node* ptr; ptr=stack->top; //刪除第一個節點 stack->top=ptr->link; //將開頭的節點指向下一個節點 free(ptr); return stack; }
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-20 15:45:19 IP:61.64.xxx.xxx 未訂閱
是阿,你程式都寫出來了 那你的問題呢? 你的 Bug 又為何呢? 你期待大家去讀你有 Bug 的程式,然後就知道「正確」的你要做的事? 很難吧! 把你要做什麼說清楚吧!
系統時間:2024-04-27 3:57:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!