C언어 공부해보기(5.random 랜덤함수(rand, srand)로 랜덤한 값 만들어보기)
이번에는 -1에서 1까지에서 시행할 때마다 그 사이에서 소숫점 3자리를 가진 값을 나오게 하도록 했다.
rand함수가 그렇게 쓰이는 건데 여기에 같이 붙어다니는 srand 함수가 있다. 만약 srand함수 없이 rand만 쓰면은 돌릴 때마다 항상 똑같은 패턴이 나오게 되므로 랜덤한 값이 아니게 된다.
어쨋든 for문으로 10000번을 돌려서 값들이 나오게 해봤다.
rand()%(전체 숫자 개수+1) - (원하는 수)
여기서 전체 숫자 개수가 만약 2000 이라면 0~1999까지의 2000개를 만들 수 있는 것을 뜻한다.
그래서 여기에 숫자 1을 더하면 2001개 즉, 0~2000에서 랜덤한 숫자 하나가 나온다.
여기서 1000을 빼면 -1000~1000까지의 랜덤한 숫자가 나오게 되고
거기다 나누기 1000을 했으므로 -1~1사이의 숫자가 하나 나오게 되는 것이다.
srand 함수를 부르기 위해서는 stdlib.h라는 헤더 파일이 필요하다. 그리고 srand도 어떤 값을 시행할 때마다 다르게 받아야 패턴이 랜덤해지므로 Windows.h 를 추가해서 GetTickCount()를 추가하였다. 대문자로 되어 있는건 꼭 대문자로 넣어야하니 주의해야 한다.
밑의 if는 왜 넣었는지 모르겠다. 빼도 될 것 같다.
결과들.. 아주 잘나온다.
'<C, JAVA 작품>' 카테고리의 다른 글
pow 함수 만들기2 (0) | 2015.02.03 |
---|---|
결과 값을 텍스트 파일에 저장해보자 (0) | 2015.02.03 |
1000만까지의 모든 소수 (1) | 2015.01.28 |
10진수를 2진수로 변환시켜보자. (0) | 2015.01.28 |
C언어로 여러 수들을 오름차순으로 나열해보기. (0) | 2015.01.28 |