C++ 프로젝트 중인데
다음과 같은 소스를 짰습니다.
for(int i = 0 ; i < MAX_CONTAINER_PANEL; i++){
if(pJTButton[i][0][0] == null)
break;
for(int x = 0 ; x < 4 ; x++){
for(int y = 0 ; y < 4 ; y++){
if(pJTButton[i][x][y] == null)
continue;
srand((unsigned int) time(NULL));
anchorX = ((float) (rand() % 41 + 20)) / 100;
srand((unsigned int) time(NULL));
anchorY = ((float) (rand() % 41 + 20)) / 100;
AppLog("anchor x = %f anchor y = %f",anchorX , anchorY); ///////////// IDE의 로그출력입니다.
}
}
}
다른부분은 문제가 안되는데 빨강 부분으로 칠해진 것을 이용 각각 3중포문 가장 내부에서 임의 난수 X 와 Y를 생성했습니다.
0.20 ~ 0.60 사이의 값을 뽑아내려고요.
그후 로그출력을 해보면 3중포문을 다빠져나갈때까지 난수가 항상 동일하게 나오는것을 보았습니다.
예를들어
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
anchor x = 0.25 anchorY =0.45
.....
anchor x = 0.69 anchorY =0.22
anchor x = 0.69 anchorY =0.22
anchor x = 0.69 anchorY =0.22
anchor x = 0.69 anchorY =0.22
anchor x = 0.69 anchorY =0.22
anchor x = 0.69 anchorY =0.22
...
다음과 같이요 분명 각포문을 돌때마다 심지어 x 와 y의 난수를 생성 할 때 난수테이블을 초기화 시켰는데도 포문안의 모든 값이 같이 나오는
이유를 잘모르겠습니다.