[問題] 找陣列中多個最小值,並回找最小值位置
看板C_and_CPP (C/C++)作者rothschilds (法蘭克福小商人)時間16年前 (2010/03/31 18:27)推噓2(2推 0噓 3→)留言5則, 3人參與討論串1/2 (看更多)
遇到的問題: (題意請描述清楚)
我要找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)
推
03/31 19:07, , 1F
03/31 19:07, 1F
→
03/31 19:08, , 2F
03/31 19:08, 2F
→
03/31 19:10, , 3F
03/31 19:10, 3F
→
03/31 19:46, , 4F
03/31 19:46, 4F
推
04/01 00:04, , 5F
04/01 00:04, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章