본문 바로가기

Enginius/C / C++

MFC에서 랜덤 숫자 사용하기.

 코딩을 하다보면 여러 경우 임의의 수, 즉 난수를 발생시키고 싶을 경우가 있다. 이를 가장 쉽게 할 수 있는 것은 rand() 함수를 사용하는 것이다. 


#include <math.h>


 를 해주고, 


 int strart_number = 0, end_number = 100;

 int random_number = (rand() % (end_number-start_number+1)) + start_number;


 로 해주면 된다. 


 다만 이때 주의할 점은 이 함수가 처음 불리기 전에, 혹은 MFC라면 OnInitDialog에서 


 srand( (unsigned int)(time(NULL)) );


 를 호출해주는 것이다. 이렇게 해줘야 랜덤을 위한 난수표(seed)를 랜덤하게 골라서 진정한 난수를 발생시킬 수 있는 것이다. 



<정리>


#include <math.h>

#include <time.h>


int main()

{

srand( (unsigned int)(time(NULL)) );


int strart_number = 0, end_number = 100;


for(int i=0; i<100; i++)

{

int random_number = (rand() % (end_number-start_number+1)) + start_number;

TRACE("Random number: %d", random_number);

}

}


위와 같이 해주면 100개의 0과 100 사이의 난수를 형성할 것이다. 아마. 

'Enginius > C / C++' 카테고리의 다른 글

[퍼옴] MFC에서 시리얼 통신 프로그램 작성하기.  (2) 2012.04.24
[MFC] BITMAP 으로 그림 그리기  (4) 2012.04.24
console로 print할 때 주의사항  (0) 2012.03.26
linked list class  (0) 2012.03.23
Variance Estimator  (0) 2012.02.19