作者rothschilds (法蘭克福小商人)
看板C_and_CPP
標題[問題] 找出陣列中多個最小值,並回找最小值的位置
時間Wed Mar 31 18:27:18 2010
遇到的問題: (題意請描述清楚)
我要找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