헤더파일) <cstdlib>, <ctime>
rand 함수는 seed라는 값에 의해 생성이 되기 때문에 이 값을 설정을 해주지 않으면 default seed 값으로 실행되어 패턴이 존재하는 난수를 리턴하게 된다.
따라서 rand()를 호출하기 전, srand 함수를 이용하여 seed 값을 설정해 주어야 한다.
참고로, time()은 <ctime>에 정의되어 있다.
예제)
#include <cstdlib>
#include <ctime>
int main() {
srand((unsigned int)time(NULL));
for(int i=0; i<5; i++) cout << rand() % 100 +1 << endl;
return 0;
}
위의 예제의 결과는 1과 100까지의 랜덤수가 5번 출력될 것이다.
'내가 보려고 만드는 > C++' 카테고리의 다른 글
[C++] 예외 발생(0x00007FF6103C2EB8, hw5.exe): 0xC0000005: 0x000000DD5E800000 위치를 기록하는 동안 액세스 위반이 발생했습니다. (0) | 2021.05.23 |
---|---|
[C/C++] char* -> int 변환 (문자열->정수 변환) (0) | 2021.05.23 |
[C++] C4996 에러 Error C4996 'fopen': This function or variable may be unsafe. (0) | 2021.05.23 |
[C++] 구조체 동적 할당 (0) | 2021.05.09 |
[c++] 버퍼 비우기 (0) | 2021.03.19 |