나는 비 반복 난수를 생성하기 위해 random_shuffle
을 사용하는 함수를 가지고 있습니다. 나는 을 호출하여 해당 함수를 n 번이라고하고 은 n 개의 다른리스트를 생성합니다.은 반복되지 않는 난수입니다. 나는 내가 srand
기능으로 놀아야 만한다고 확신하지만 어떻게 확신 할 수 없다.임의의 반복되지 않는 숫자
srand(time(NULL));
당신은 한 번만 임의의 값 생성기를 시드 수 있으므로 :
// random generator function:
int myrandom (int i) { return std::rand()%i;}
void dealCards();
int main() {
for (int i=0; i<10; i++) {
dealCards();
}
return 0;
}
void dealCards(){
std::srand (unsigned (std::time(0)));
std::vector<int> myvector;
int myarray[32];
// set some values:
for (int i=1; i<33; ++i) myvector.push_back(i); // 1 2 3 4 5 6 7 8 9
// using myrandom:
std::random_shuffle (myvector.begin(), myvector.end(), myrandom);
std::cout << "myvector contains:";
std::srand (unsigned (std::time(0)));
for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it){
std::cout << ' ' << *it;
}
std::cout << '\n' << '\n';
} 여기
프로그램에서 srand ONCE 만 호출하십시오. –
제목에 "비 생성"대신 "비 반복"을 의미한다고 가정합니다. –
@ ÉricMalenfant 예 감사합니다. – solalito