2015-01-17 2 views
0

사용자 정의 범위 사이에 10 개의 난수를 생성하는 데 문제가 있습니다.C++ 사용자 정의 난수 생성기

나는 지금까지이 : 당장은 정말 확실하지

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

[std :: uniform_int_distribution] (http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution) – Borgleader

답변

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"; 
} 
+0

나를 위해 너무 진보 된 비트. 그다지 배우지는 않았지만 고마워. – user3677713

0

당신은 단지 벡터에 각 값을 추진하여 난수를 생성하는 코드 주위에 간단한 루프를해야한다. 루프의 조건과 같이 할 수있다 :

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

모든 10 번호가 사용자의 벡터에있을 것입니다 :

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

점수는 당신이 뭔가를해야한다. 또는 그 라인을 따라 어떤 방법.