Random 함수(범위지정)



기존에 많이 쓰이는 seed() rand() 요런 방식이 아닌 

또다른 랜덤함수가 있어서 소개하고자 해요.

기존에 rand() 함수를 써서 100 ~ 200 사이의 값을 구하려면

요런 방식으로 했을텐데요,


srand((unsigned int)time(NULL));


int value = rand() % 100 + 100;



아래 방식도 있으니 한번 사용해 보세요

from에서 to 까지 직접 입력하면 그 사이에서 랜덤한 수를 뽑아내 준답니다.


//Example (100에서 200사이의 랜덤 값 뽑아내기)

int random_value = getRandomValue(100,200);


[Function]

int Services::getRandomValue(const int &iFrom, const int &iTo)

{

std::random_device rd;

std::mt19937 rEngine(rd());

std::uniform_int_distribution<> dist(iFrom, iTo); 

int result = dist(rEngine);

return result;

}