double RangedRand( int range_min, int range_max)
{
return (double)rand() / (RAND_MAX + 1) * (range_max - range_min)+ range_min;
}
Случайное вещественное число
Генерация целых понятна. Но вот генерить 2 целых и делить - не совсем то, т.к. числа будут тяготеть к 0. Да и с границами не совсем понятно...
Спасибо
Код:
const double anti_RAND_MAX = 1. / ( double )( RAND_MAX + 1 );
double RangedRand( int range_min, int range_max)
{
return (double)rand() * anti_RAND_MAX * (range_max - range_min)+ range_min;
}
double RangedRand( int range_min, int range_max)
{
return (double)rand() * anti_RAND_MAX * (range_max - range_min)+ range_min;
}
На случай, если оптимизация компилятора не включена.