[問題] 利用 qsort 排序二維陣列

看板C_and_CPP (C/C++)作者 (linshihhua)時間8年前 (2017/09/11 15:42), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Dev-C++ 5.11 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 想對 5*2 的二維陣列的每個元素的第一個分量和第二個分量 分別用 qsort 去做排序 結果只有對第一個排序正確, 對第二個產生錯誤 餵入的資料(Input): int A[5][2] = {{3, 4}, {1, 2}, {5, 6}, {9, 10}, {7, 8}}; int B[5][2] = {{3, 4}, {1, 2}, {5, 6}, {9, 10}, {7, 8}}; 預期的正確結果(Expected Output): (1, 2) (3, 4) (5, 6) (7, 8) (9, 10) (1, 2) (3, 4) (5, 6) (7, 8) (9, 10) 錯誤結果(Wrong Output): (1, 2) (3, 4) (5, 6) (7, 8) (9, 10) (3, 2) (5, 4) (1, 6) (9, 8) (0, 10) 程式碼(Code):(請善用置底文網頁, 記得排版) https://ideone.com/RRbwEH 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.163.247 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1505115730.A.AA9.html

09/11 15:50, , 1F
被你拿去排序的不是 B 而是 q,兩者差了一"格"所以錯了
09/11 15:50, 1F

09/11 15:51, , 2F
q={{4,1},{2,5},{6,9},{10,7},{8,?}}
09/11 15:51, 2F

09/11 16:29, , 3F
推樓上
09/11 16:29, 3F

09/11 18:55, , 4F
感謝, 我知道要怎麼改了
09/11 18:55, 4F

09/12 16:16, , 5F
我猜你的sort是用內建不是自己寫的
09/12 16:16, 5F
文章代碼(AID): #1PjZvIgf (C_and_CPP)
文章代碼(AID): #1PjZvIgf (C_and_CPP)