-
rand() 함수는 int 에 대해서만 값을 반환한다.
※ 일단 rand() 함수 자체는 초기에 완전 랜덤값을 반환하지 않는 문제가 있다고 하지만, 해당문제는 잠시 접어 두도록 한다.
-
rand() 함수는 아래와 같이 쓰인다.
randomValue = rand() % imax + imin;
imin < imax 를 만족해야 한다.
-
구하고자 하는 형태는 double이다. 고로 최대치와 최소치가 있을 것이므로 아래와 같이 정의 한다.
dmin < dmax
-
비율의 문제이므로 아래와 같은 수식이 세워진다.
-
구현
double randN(const double &min, const double &max){ int randmax(1000), randmin(0); int value = rand() % randmax + randmin; // randmin ~ randmax; //비율문제니까... return (double)value/(double)(randmax-randmin)*(max-min); }
생각 과정..ㅋㅋ
'Programming > C/C++' 카테고리의 다른 글
C reference 정리 pdf (0) | 2011.09.03 |
---|---|
포인터 2차 동적 할당 (0) | 2011.02.21 |
cos (0) | 2011.02.10 |
배열 개수 확인하는 방법 (0) | 2011.01.27 |
문자열과 숫자형 변환 (0) | 2011.01.26 |