Генератор double в определённом диапазоне?

Для генерации псевдослучайных чисел типа double в определенном диапазоне в языке программирования C++, вы можете использовать различные подходы. Вот некоторые из них:

1. Использование функции rand():
Стандартная функция rand() возвращает псевдослучайное целое число, которое можно преобразовать в диапазон double. Например, чтобы сгенерировать число от 0 до 1, вы можете сделать следующее:

double random_double = static_cast<double>(rand()) / RAND_MAX;

2. Использование более современного генератора случайных чисел:
В C++11 и более поздних версиях был представлен стандартный генератор случайных чисел в библиотеке <random>. Он предоставляет более надежные и более удобные средства для генерации случайных чисел.

#include <random>

std::random_device rd;
std::mt19937_64 gen(rd());
std::uniform_real_distribution<double> dis(min_value, max_value);

double random_double = dis(gen);

В этом примере min_value и max_value - это границы диапазона, в котором вы хотите сгенерировать число с плавающей точкой. Вы можете настроить min_value и max_value на свое усмотрение.

3. Использование генератора случайных чисел Boost:
Для платформ, на которых <random> не реализован полностью или не достаточно эффективно, вы можете использовать Boost.Random.

#include <boost/random.hpp>

boost::random::random_device rd;
boost::random::mt19937 gen(rd());
boost::random::uniform_real_distribution<double> dis(min_value, max_value);

double random_double = dis(gen);

Примеры выше демонстрируют различные способы генерации псевдослучайного числа типа double в заданном диапазоне. Вы можете выбрать то, что наиболее удобно и соответствует вашему окружению и требованиям.