Re: [問題] 找陣列中多個最小值,並回找最小值位置
看板C_and_CPP (C/C++)作者loveme00835 (恋さや)時間16年前 (2010/03/31 19:12)推噓8(8推 0噓 13→)留言21則, 5人參與討論串2/2 (看更多)
※ 引述《rothschilds (法蘭克福小商人)》之銘言:
: 遇到的問題: (題意請描述清楚)
: 我要找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 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;
: }
: }
: }
1.裡面的迴圈在 x == 10 的時候, 會把你之前存的兩個1換成兩個10
2.關於陣列TempA的初始化, 雖然TempA有15個元素, 因為你只提供了一個初始值
剩下的編譯器不知道怎麼做, 所以採用預設的初始值(0)來做, 如果要全部都
變成 999, 可以這樣寫 :
int TempA[15] = { 999, 999, 999, 999, 999,
999, 999, 999, 999, 999,
999, 999, 999, 999, 999 };
或是改用迴圈的方式去跑,
建議的程式碼:
int TempA[ 15 ];
// 用迴圈來初始化, 這邊條件改成15比較知道是在跑整個陣列
for ( int i = 0; i < 15; ++i )
TempA[ i ] = 999;
i = 0; // 第一個發現的最小值所在的索引要放在TempA[0]的位置
for ( x = 0; x < 15; ++x)
{
/* 如果發現了最小值, 索引存到TempA中, 下一個最小值索引
* 應該存在下一個位置
*/
if ( before_buttle[ x ] == f )
{
TempA[ i ] = x;
i += 1;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.197.115
→
03/31 19:47, , 1F
03/31 19:47, 1F
→
03/31 19:47, , 2F
03/31 19:47, 2F
→
03/31 19:48, , 3F
03/31 19:48, 3F
→
03/31 19:50, , 4F
03/31 19:50, 4F
→
03/31 19:50, , 5F
03/31 19:50, 5F
推
03/31 23:27, , 6F
03/31 23:27, 6F
推
03/31 23:31, , 7F
03/31 23:31, 7F
→
03/31 23:32, , 8F
03/31 23:32, 8F
推
03/31 23:58, , 9F
03/31 23:58, 9F
推
04/01 00:11, , 10F
04/01 00:11, 10F
推
04/01 00:17, , 11F
04/01 00:17, 11F
推
04/01 01:38, , 12F
04/01 01:38, 12F
→
04/01 01:44, , 13F
04/01 01:44, 13F
推
04/01 09:47, , 14F
04/01 09:47, 14F
→
04/01 09:47, , 15F
04/01 09:47, 15F
→
04/01 09:47, , 16F
04/01 09:47, 16F
推
04/01 10:04, , 17F
04/01 10:04, 17F
→
04/01 10:05, , 18F
04/01 10:05, 18F
→
04/01 10:05, , 19F
04/01 10:05, 19F
→
04/01 10:06, , 20F
04/01 10:06, 20F
→
04/01 10:07, , 21F
04/01 10:07, 21F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章