[問題] 隨機陣列的排序問題

看板C_and_CPP作者 (Adolph)時間13年前 (2011/05/20 00:54), 編輯推噓0(0012)
留言12則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) time.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 各位高手大家好 為了復習一下陣列的應用 所以我給自己出了一個陣列問題 然後再排序 但不知道為什麼有語義錯誤 下面是我的程式碼 煩請大家不吝點出我的錯誤 #include<stdio.h> #include<stdlib.h> #include<time.h> #define max 100 int main(void) { int tem,i,arr[max]; int *ptr=arr; srand(time(NULL)); for(i=0;i<max;i++) *(ptr+i)=rand()%300+1; for(i=0;i<(max-1);i++) if(*(ptr+i)>=*(ptr+i+1)) { tem=*(ptr+i+1); *(ptr+i+1)=*(ptr+i); *(ptr+i)=tem; } for(i=0;i<max;i++) printf("%d \n",*(ptr+i)); system("pause"); return 0; } 謝謝您們!!! P.S. 原本是以陣列形式表現的,但因為有相同問題 我就把它改成指標看能不能解決 結果發現還是一樣 所以標題與內文才會不太吻合SorrySorry -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.170 ※ 編輯: avonasac0800 來自: 140.112.4.170 (05/20 00:57)

05/20 00:58, , 1F
你預期的執行結果是什麼?
05/20 00:58, 1F

05/20 00:59, , 2F
bubble 要二維loop....
05/20 00:59, 2F

05/20 00:59, , 3F
你把編譯器的訊息打一打吧
05/20 00:59, 3F

05/20 01:01, , 4F
你自己模擬你所寫的 就知道問題在哪了...
05/20 01:01, 4F

05/20 01:03, , 5F
....我看到那個迴圈還真沒想到那是排序 orz
05/20 01:03, 5F

05/20 01:06, , 6F
它可以正常運作,可是沒有排序的效果
05/20 01:06, 6F

05/20 01:06, , 7F
出來的是一堆沒有經過整理的數字
05/20 01:06, 7F

05/20 01:09, , 8F
因為那樣的程式碼並沒有排序的效果呀...
05/20 01:09, 8F

05/20 01:10, , 9F
firejox已經點出問題了
05/20 01:10, 9F

05/20 02:38, , 10F
好的我回頭重新思考一次 謝謝您!!
05/20 02:38, 10F

05/20 16:43, , 11F
qsort
05/20 16:43, 11F

05/24 22:29, , 12F
樓上這才只有100用bubble已經很快了
05/24 22:29, 12F
文章代碼(AID): #1DrKjHFj (C_and_CPP)