|
seed가 같아서 발생한 문제입니다.
time() 함수가 반환하는 것은 초단위의 시간인데
아래 코드는 이 것을 srand의 seed로 사용하고 있습니다.
컴퓨터가 매우 느리지 않는 이상 rand1() 실행에 1초가 걸리지 않을 것입니다.
로터스 님이 쓰신 글 :
: 한 프로그램에서 두 배열에 각기 다른 난수를 넣으려고 합니다.
:
: srand( (unsigned)time( NULL ) );
:
: 이런식으로 두개를 작성하여 각각 배열마다 함수를 호출하였는데요
: 두 배열에서 같은 난수가 나옵니다.
: 아무래도, 거의 같은 시간에 호출이 이루어져, 똑같은 난수가 나오는 듯 싶은데요..
:
: 예를 들면..
:
: void rand1()
: {
: srand( (unsigned)time( NULL ) );
: ...
: printf(a[i]);
: }
:
: void rand2()
: {
: srand( (unsigned)time( NULL ) );
: ...
: printf(b[i]);
: }
:
: void main(void)
: {
: rand1();
: rand2();
: }
:
: 이렇게 하면 같은 값이 나오게 되네요..
:
: 어떻게 하면, 두 배열에 각기 다른 난수가 나오게 할 수 있을까요?
: 갈길 먼 초보에게 도움 부탁드립니다.
:
:
|