인프런 커뮤니티 질문&답변

장수종님의 프로필 이미지
장수종

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

로또 번호 생성기

여러개의 로또번호 추출 질문

작성

·

272

0

선생님 로또번호 생성기를 다 작성 후 로또를 사게되면

통상 5천원 정도 자동으로 돌리는데

ChooseLotto()함수를 여러번 돌리면 될줄 알았지만 전부 다 같은 값으로 Print 되는것을 보았습니다.

for문으로 반복해서 그런줄 알았더니 그냥 호출을 여러번 해도 결과가 똑같더군요 변수명도 바꿔보고 초기화도 해봤지만

결과는 같은값 5줄이 Sorting 되어서 나옵니다.

각 줄마다 다른 숫자로 자동 5천원 돌렸을 때처럼 나오는건 어떻게 할 수 있을까요?

 

 

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

랜덤 시드 설정을 하는 srand((unsigned)time(0));를
ChooseLotto 안이 아니라, main 함수에서 딱 1번만 하게 수정해주시면 됩니다.

time 함수는 초 단위라서 1초 이내에는 동일한 값을 뱉어주기 때문에,
srand(동일값) 설정이 되어서 계속 같은 랜덤값이 뜨고 있는겁니다.
사실 프로그래밍에서 랜덤은 진짜 랜덤이 아니라,
이렇게 그럴싸한 난수들을 이용해 랜덤을 모방하는 것에 불과합니다.

장수종님의 프로필 이미지
장수종
질문자

정말 감사합니다.

장수종님의 프로필 이미지
장수종

작성한 질문수

질문하기