본문 바로가기

Programming/C/C++

Random double 값 추출하기

  • 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