看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 我要找before_buttle[15]的最小值(不只一個) 並回找最小值在before_buttle[15]中的位置 存到一個新陣列TempA[15]中 {最小值位置1,最小值位置2,999,999,...} 最小值是4,分別是before_buttle[1]跟[10] 有計算有幾個最小值的count_a 一開始想把TempA長度設成count_a=2,但不會宣告 所以希望最後跑出{1,10,999,999,.....} (一開始把int TempA[15]={999};) 奇怪的是,只會顯示最後一個最小值 TempA[0]=10 (原本應該是1) TempA[1]=10 TempA[2]=0 (原本應該是999) 能請教問題出在哪邊嗎? 很感謝 @@ 有問題的code: (請善用置底文標色功能) int f=999; int count_a; for(x=0;x<=14;x++) \\找出最小值 { if(before_buttle[x]<f) \\int before_buttle[15] { f=before_buttle[x]; } } for(x=0;x<=14;x++) \\找出有幾個最小值 { if(before_buttle[x]==f) { count_a++; } } int TempA[15]={999}; 問題應該是在這邊 for(x=0;x<=14;x++) { if(before_buttle[x]==f) { for(i=0;i<=count_a-1;i++) { TempA[i]=x; } } } printf("%4d\n",TempA[0]); printf("%4d\n",TempA[1]); printf("%4d\n",TempA[2]); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.145.167 ※ 編輯: rothschilds 來自: 61.229.145.167 (03/31 18:51)
guancheng:大概看了一下,有兩個問題: 03/31 19:07
guancheng:1. int TempA[15]={999}; <= 只有TempA[0]會是999 03/31 19:08
guancheng:2. TempA下面這個for(第二層),不是會把TempA變成一樣? 03/31 19:10
rothschilds:感謝~~我看出問題了~~~ 03/31 19:46
jlovet:要用很多次的話...用寫好的吧 http://tinyurl.com/y9t6qam 04/01 00:04