我在用户定义的范围之间生成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;
不确定从哪里开始。感谢任何帮助,谢谢!
答案 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个数字都在你的矢量中。或者沿着这些方向的一些方法。