[問題] 我想找出數列前幾大值與index(我不會用bbs恕前文刪除)
我寫了一段程式
我想找出數列的前S大值
結果只會找出S個一樣的第一大值
比如下面的程式會顯示出找到3個13跟他的INDEX
請問各位我應該在哪個部分做修改呢?
感謝各位回答^^
Nc:數列長度 S:要找前S個最大值
# include <math.h>
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# define Nc 8
# define S 3
main ()
{
time_t t;
int i,nk[S],m,k;
double mag[Nc],tmp1[S],tmp_I[S],tmp_Q[S];
mag[0]=3.0;
mag[1]=2.0;
mag[2]=8.0;
mag[3]=1.0;
mag[4]=4.0;
mag[5]=9.0;
mag[6]=6.0;
mag[7]=13.0;
for (i=0;i<S;i++) /*Reset variables for sorting */
{
tmp1[i]=0.0;
nk[i]=0;
}
for (i=0;i<Nc;i++) /*Calculate magnitude and search the Peak value */
{
for (m=0;m<S;m++)
{
if (mag[i]>tmp1[m])
{
for (k=1;k<(S-m);k++)
{
tmp1[S-k]=tmp1[S-k-1];
nk[S-k]=nk[S-k-1];
}
tmp1[m]=mag[i];
nk[m]=i;
}
}
}
} /* Main end */
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.199.66
→
09/20 19:40, , 1F
09/20 19:40, 1F
→
09/20 19:40, , 2F
09/20 19:40, 2F
→
09/20 19:41, , 3F
09/20 19:41, 3F
→
09/20 19:42, , 4F
09/20 19:42, 4F
→
09/20 20:10, , 5F
09/20 20:10, 5F
→
09/20 20:11, , 6F
09/20 20:11, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章