c ++用户定义的随机数生成器

时间:2015-01-17 03:33:49

标签: c++

我在用户定义的范围之间生成10个随机数时遇到一些麻烦。

到目前为止,我有这个:

int minimum, maximum, randNum;

cout << "Hello, please insert the smallest number for your range of random numbers" << endl;
cin >> minimum;
cout << "Please insert your largest number for your range of random numbers" << endl;
cin >> maximum;

srand (time(NULL));
randNum = rand()%(maximum-minimum)+minimum;

不确定从哪里开始。感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:3)

你走了:

#include <iostream>
#include <random>

int main() {
    int minimum, maximum;
    std::cin >> minimum >> maximum;

    // Create a random number generator
    std::random_device rd;
    std::mt19937 gen(rd());

    // We want random numbers within [minimum, maximum]
    std::uniform_int_distribution<> dis(minimum, maximum);

    // Print 10 random numbers    
    for (int i=0; i<10; ++i)
        std::cout << dis(gen) << "\n";
}

答案 1 :(得分:0)

您应该围绕随机数生成代码进行简单循环,将每个值推送到向量中。循环的条件是这样的:

for(int i =0; i < 10; ++i)

总的来说,你应该有类似的东西:

srand(time(NULL));
vector<int> vec;
for(int i = 0; i < 10; ++i){
    vec.push_back(rand() % max + min);
}

所有10个数字都在你的矢量中。或者沿着这些方向的一些方法。