작성
·
272
0
선생님 로또번호 생성기를 다 작성 후 로또를 사게되면
통상 5천원 정도 자동으로 돌리는데
ChooseLotto()함수를 여러번 돌리면 될줄 알았지만 전부 다 같은 값으로 Print 되는것을 보았습니다.
for문으로 반복해서 그런줄 알았더니 그냥 호출을 여러번 해도 결과가 똑같더군요 변수명도 바꿔보고 초기화도 해봤지만
결과는 같은값 5줄이 Sorting 되어서 나옵니다.
각 줄마다 다른 숫자로 자동 5천원 돌렸을 때처럼 나오는건 어떻게 할 수 있을까요?
답변 1
1
랜덤 시드 설정을 하는 srand((unsigned)time(0));를
ChooseLotto 안이 아니라, main 함수에서 딱 1번만 하게 수정해주시면 됩니다.
time 함수는 초 단위라서 1초 이내에는 동일한 값을 뱉어주기 때문에,
srand(동일값) 설정이 되어서 계속 같은 랜덤값이 뜨고 있는겁니다.
사실 프로그래밍에서 랜덤은 진짜 랜덤이 아니라,
이렇게 그럴싸한 난수들을 이용해 랜덤을 모방하는 것에 불과합니다.
정말 감사합니다.