小编Mou*_*use的帖子

第二次编译时更改随机生成数字的值

我将随机数生成器应用于我的代码,尽管当我第二次或第三次运行代码时,生成的第一个数字没有改变。然而,其他数字发生了变化,问题仅在于第一个值。我正在使用代码块;Cygwin GCC 编译器 (c++ 17)。利用时间播种。

#include <iostream> 
#include <random>
#include <ctime>
    
int main()
{
    std::default_random_engine randomGenerator(time(0));
    std::uniform_int_distribution randomNumber(1, 20);
    int a, b, c;
    a = randomNumber(randomGenerator); 
    b = randomNumber(randomGenerator); 
    c = randomNumber(randomGenerator);
    std::cout<<a<<std::endl;
    std::cout<<b<<std::endl;
    std::cout<<c<<std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,当我第一次运行代码时,它可能会产生类似 a = 4、b = 5、c = 9 的结果。第二次和以后的时间 (a) 仍为 4,但 (b) 和 (c) 不断变化。

c++

2
推荐指数
1
解决办法
82
查看次数

标签 统计

c++ ×1