У меня есть массив структур, и одно из полей в структуре является плавающей точкой. Я хочу выбрать одну из структур, где вероятность ее выбора относительно стоимости поплавка. т.е.
struct s{
float probability;
...
}
s sArray[50];
Какой самый быстрый способ решить, какой выбрать? Есть ли функция для этого? Если бы я знал сумму всех полей вероятности (обратите внимание, что это не будет 1), то мог бы я перебрать все s и сравнить probability/total_probability
со случайным числом, меняя случайное число для каждого s? т.е.
if( (float) (rand() / RAND_MAX) < probability)...