2019년 4월 22일 월요일

C언어 배우기 (랜덤 함수)

 오늘은 랜덤함수에 대해 배워보았다. 랜덤함수를 쓰기 위해서는 우선 stdlib.h, time.h라는 헤더 파일이 추가로 필요하다. 이 소스코드는 로또 번호를 추첨하는 소스코드다. 그리고 만약에 같은 번호가 나오면 다시 추첨하는 코드다.
 srand는 난수 기준값을 초기화하는 함수다. rand를 그냥 사용하면 랜덤은 랜덤인데 맨날 같은 값만 나온다. 그래서 srand에 time(NULL)을 넣어 줌으로써 난수를 계속 초기화시키는 것이다. time을 넣어주는 이유는 time은 계속해서 변하는 수이기 때문에 난수를 계속 다르게 초기화할 수 있다. rand() % n + 1을 해주면
1 ~ n까지의 랜덤값을 받을 수 있다.
 마지막으로 같은 번호가 나왔을 때 다시 추첨하는 방법은 먼저 처음 번호가 나왔을 때는 비교할 대상이 없으니까 그냥 출력을 하고 그 다음부터는 나온 수와 같은지 비교를 해서 만약에 같으면 check2라는 변수를 1씩 높이고 만약에 check2가 0이 아니면 i값을 낮추고 다시 추첨을 하는 형식이다.

댓글 없음:

댓글 쓰기