#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
// 현재 시간을 시드 값으로 초기화
srand(time(0));
int RandomNumber[10];
// 0~4 까지의 숫자 중 랜덤으로 배열에 값 넣기
for (int i = 0; i < 10; i++)
{
RandomNumber[i] = rand() % 5;
}
return 0;
}
std::rand()
- C 표준 라이브러리의 난수 생성 함수이다. <cstdlib> 헤더에 정의되어 있다.
- std::srand에서 설정된 시드 값을 기반으로 난수를 생성함으로, std::srand를 먼저 호출해야만 매번 다른 난수를 생성할 수 있다.
- 0부터 RAND_MAX(보통 32767) 사이의 정수를 반환한다.
std::srand()
- std::rand와 마찬가지로 <cstdlib> 헤더에 정의되어 있다.
- 난수 생성기를 초기화 하는 "시드(seed)" 값을 설정한다. 다시 말해 시드란 난수 생성기의 초기 값을 의미한다.
- 난수 생성기는 시드 값에 따라 동일한 난수 시퀀스를 생성한다. 시드를 설정하지 않으면 기본 값(보통 1)으로 고정되며, 프로그램 실행 시에 항상 같은 난수를 생성하게 된다.
- 일반적으로 std::srand(time(0))을 사용해서 현재 시간을 기반으로 시드를 설정하면 실행할 때마다 다른 난수를 생성할 수 있게 된다.
std::time
- C++ 표준 라이브러리의 시간 함수로, 현재 시간을 초 단위로 정수형 타입(time_t)으로 반환한다. <ctime>에 정의.
- time(0)의 의미: 인수를 0 또는 null로 전달하면, 현재 시간의 초 단위 값을 반환한다.
- std::srand의 시드 값으로 활용.
'내배캠 > C++' 카테고리의 다른 글
비트 연산자 (0) | 2024.12.30 |
---|---|
객체 지향적 설계 연습 (0) | 2024.12.27 |
std::fixed / std::setprecision (0) | 2024.12.26 |
std::cin::fail / std::cin::clear / std::cin::ignore (0) | 2024.12.26 |
std::transform (1) | 2024.12.26 |