[C++] 21. 랜덤

2022. 6. 2. 21:39코딩 1막 <C++개념편>

728x90

난수(랜덤하게 변하는 정수)를 생성하는 방법은 크게 2가지로 나뉜다.

1. < 랜덤_난수생성방법 (1) >

// 랜덤

#include <iostream>
#include <string>

#include <stdlib.h> //srand, rand
#include <time.h>	//time

using namespace std;

void main()
{
	//난수 생성방법(1)
	srand(time(NULL));	//시드값 변경을 위해 시간을 시드로 사용

	// 0 ~ 9 까지의 수가 랜덤하게 나옴(난수 = 랜덤한 수)
	cout << rand() % 10 << endl;	
}

2. < 랜덤_난수생성방법 (2) >

#include <iostream>
#include <string>

#include <random> //random_device

using namespace std;

void main()
{
	//난수 생성방법(2)
	random_device rd;
	mt19937 gen(rd());
	uniform_int_distribution<int> dis(0, 9);

	// 0 ~ 9 까지의 수가 랜덤하게 나옴
	cout << dis(gen) << endl;	
}

// 더 좋은 방식은 2번이 낫다. 하지만 중요하진 않음.
728x90