генерация числа от -1 до 1

мне надо число от -1 до 1 только что бы так же могло выпасть к примеру -0,5 или 0,7. Есть ли команды которые позволят сделать мне это на с++


Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

Пример заимствован из документации по uniform_real_distribution:

#include <iostream>
#include <random>
 
int main()
{
    std::random_device rd;  // Will be used to obtain a seed for the random number engine
    std::mt19937 gen(rd()); // Standard mersenne_twister_engine seeded with rd()
    std::uniform_real_distribution<> dis(-1.0, 1.0);
    for (int n = 0; n < 10; ++n)
        // Use dis to transform the random unsigned int generated by gen into a 
        // double in [-1, 1). Each call to dis(gen) generates a new random double.
        std::cout << dis(gen) << ' ';
    std::cout << '\n';
}
$ g++ example.cpp 

$ ./a.out 
-0.0946071 -0.00887885 0.0745301 0.0855702 0.554402 0.67839 0.0129256 -0.114497 0.229544 0.38961
→ Ссылка