構造体の配列があり、構造体のフィールドの 1 つが float です。それを選ぶ確率が float の値に比例する構造体の 1 つを選びたいと思います。すなわち
struct s{
float probability;
...
}
s sArray[50];
どちらを選択するかを決定する最速の方法は何ですか? これのための機能はありますか?すべての確率フィールドの合計がわかっている場合 (1 ではないことに注意してください)、各 s を反復処理して乱数と比較probability/total_probability
し、各 s の乱数を変更できますか? すなわち
if( (float) (rand() / RAND_MAX) < probability)...