[理工] 交大 101 資演

看板Grad-ProbAsk作者 (阿慶老哥)時間10年前 (2015/12/24 13:35), 編輯推噓4(4013)
留言17則, 6人參與, 最新討論串3/3 (看更多)
http://imgur.com/LwpF53p
想問題組11 (31) 題目我的解讀是 輸入:n個數字全相異的陣列 輸出:排序好的陣列(遞增) 這題我手邊的答案是 C 可是我trace出來之後的結果怪怪的 所以就把它用C++跑一次 出來的結果也不是排序好的陣列 以下是我的程式碼跟測資 編譯環境是code blocks #include<iostream> using namespace std; int main() { int a[7] = {5, 7, 9, 8, 4, 3, 6}; int m,t; for(int i=6; i>=1; i--) { m = i; for(int j=0; j<=i-1; j++) { if(a[j]>a[m]) { m = j; } t = a[m]; a[m] = a[i]; a[i] = t; } } for(int i=0; i<7 ; i++) cout<<a[i]<<" "; return 0; } 每個選項我都有去試過了 出來結果沒有一個是排序好的陣列 想請問是我的哪邊想法錯了 或是這題沒有答案? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.50.29 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1450935324.A.49F.html

12/24 13:44, , 1F
a[j]>a[m]錯了吧 你都換過去了還跟m比幹嘛
12/24 13:44, 1F

12/24 13:46, , 2F
for(int j=0; j<=i-1; j++)只要包if而已
12/24 13:46, 2F

12/24 13:47, , 3F
或是改交換 要放第一層迴圈
12/24 13:47, 3F

12/24 13:49, , 4F
Swap 不是在第二個迴圈內做吧
12/24 13:49, 4F

12/24 13:50, , 5F
同樓上
12/24 13:50, 5F

12/24 13:59, , 6F
懂了 感謝!
12/24 13:59, 6F

12/24 15:52, , 7F
這感覺是selection sort 可是他初值怪怪的QQ
12/24 15:52, 7F

12/24 15:54, , 8F
阿沒事我耍笨把array當[1..N] orz
12/24 15:54, 8F

12/24 16:17, , 9F
所以這題是d吧
12/24 16:17, 9F

12/24 17:18, , 10F
是c阿 他要找的是increase 又從n-1 downto1
12/24 17:18, 10F

12/24 17:19, , 11F
每次要從前i-1個挑最大 swap
12/24 17:19, 11F

12/24 17:33, , 12F
奧 原來是n-1開始
12/24 17:33, 12F

12/24 18:12, , 13F
想借問題組20(60) 也就是最後一題
12/24 18:12, 13F

12/24 18:13, , 14F
bipartite matching 不是都整數嗎?
12/24 18:13, 14F

12/24 18:14, , 15F
不知道d哪裡錯
12/24 18:14, 15F

12/24 19:07, , 16F
可以定義capacity1/2去找 最後出來的flow就不是整數
12/24 19:07, 16F

12/24 23:11, , 17F
恩恩 感謝回答
12/24 23:11, 17F
文章代碼(AID): #1MUuGSIV (Grad-ProbAsk)
文章代碼(AID): #1MUuGSIV (Grad-ProbAsk)