게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[ㅄㄱ] 임의 난수를 생성하는데 동일한 수가 생성됩니다.
게시물ID : programmer_7405짧은주소 복사하기
작성자 : ducking
추천 : 0
조회수 : 947회
댓글수 : 12개
등록시간 : 2014/12/31 20:46:46
옵션
  • 본인삭제금지
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의 난수를 생성 할 때 난수테이블을 초기화 시켰는데도 포문안의 모든 값이 같이 나오는

이유를 잘모르겠습니다. 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호