2014-09-16 3 views
2

C++에서 무작위로 반복되지 않는 배열을 생성해야합니다.이 코드 부분에서는 srand 함수를 사용하여 난수를 생성하지만 숫자 중 일부는 반복됩니다. 주요 작업은 복권 티켓의 난수를 생성하는 것이므로 int 황금으로 표시된 황금 수까지 숫자를 생성해야합니다.C++에서 무작위 반복 번호 배열 생성

#include <cstdlib> 
#include <ctime> 
#include <iostream> 

using namespace std; 

int main() 
{ 
    int golden = 31; 
    int i = 0; 
    int array[35]; 

srand((unsigned)time(0)); 
    while(i != golden){ 
     array[i] = (rand()%75)+1; 
     cout << array[i] << endl; 
     i++; 
} 
} 
+0

관련 : http://stackoverflow.com/questions/21948091/how-to-generate-an-array-of-256-distinct-numbers/21950195 – Omid

답변

7

하나의 전략은 1에서 75까지 숫자 배열을 채울 한 다음에 std::random_shuffle()을 사용하는 것입니다. 그런 다음 황금 숫자를 누르기 전까지 배열에서 숫자를 읽을 수 있습니다.