下降数字的升序概率

时间:2011-08-24 09:16:46

标签: c++

我想编写代码,为每个按顺序递减的数字提供累积概率(0-1)。例如;

我有一组号码:

    150
    152
    155
    160
    175

我会以这种方式给出这些数字:

对于第一个(150)概率是= 175 /总和

第二个是= 160 / totalsum +之前的概率....依此类推。

主要观点是150将有更高的概率。

你对我有什么建议? Set将包含超过30个数字......

以下是代码:

int ll;
float prefitness=0;//Previous fittnesses
int minus =0;
for (int sdf=0;sdf<PopulationSize;sdf++)//population size is the total number counts
{
  ll=sortindex[sdf];//sortindex is an array with numbers in ascending order
  Sol_list[ll].fittness=(double)Sol_list[PopulationSize-1-minus].PortfolioDuration/sum+prefitness;
  prefitness=Sol_list[ll].fittness;
  minus++;
}
float move=0;
int xc;
for (int yj=0;yj<PopulationSize;yj++)
{
  xc=sortindex[yj];
  Sol_list[xc].fittnesspre =move;
  move=Sol_list[xc].fittness;
}

1 个答案:

答案 0 :(得分:0)

您的问题是您没有在Sol_list的所有访问中使用已排序的索引。这个错了:

Sol_list[PopulationSize-1-minus]

应该说:

Sol_list[sortindex[PopulationSize-1-minus]]