在 c++ 中使用 random()

Use of random() in c++

本文关键字:random c++      更新时间:2023-10-16
#include <iostream>
#include <random>
#include <conio.h>
using namespace std;
const int lim=4;
int main(){
    randomize();
    int p;
    p=100+random(lim);
    for(int i=p;i>=100;i--){
     cout<<i<<"#";  
    }
    cout<<endl;
    getch();
    return 0;
}

当我运行此代码时,我没有得到任何输出.我不应该在这里得到输出吗?谁能告诉我出了什么问题?

函数

randomrandomize甚至不存在于<random>标头中。它们可能存在于您的工作环境中,谁知道编译器可以隐式包含什么,但尽管如此,它不是标准C++。

相反,创建一个随机数设备(这将给你randomize()(,有一个你选择的PRNG(包含数字生成算法(,然后创建一个统一的整数分布(在这种情况下,你可能想要在100和103之间,其中可以出现这些数字之一:100,101,102或103(。

random_device rd;
minstd_rand gen(rd());
std::uniform_int_distribution<> dis(100, 103);

然后生成一个这样的数字:

int p = dis(gen);