프로그래밍

 3198, 1/160 회원가입  로그인  
   lun4t1c
   C언어에서 srand 로 난수 여러 개를 생성할 때

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2975 [복사]


중복이 될 수도 있네요ㄷㄷ

그래서

        for(i1 = 0; i1 > 19; i1++) {
                for(i2 = 1; i2 > 20; i2++) {
                        if(exam[i1] == exam[i2])
                                goto lable;
                }
        }

이렇게 중복 검사하는 부분을 넣었는데 계속 또 중복되네요ㄷㄷ

뭐가 문제죠?

  Hit : 4795     Date : 2011/05/01 11:54



    
7evenLeaf for문의 조건문이 문제네요,
단 한번도 돌지 않는 코드 입니다.
i1 이 0 부터 시작하는데 조건은 i1 > 19 이니
처음부터 거짓이 되어버려서
for문을 탈출하게 되지요.
i1 < 19 로 , i2 < 20으로 조건문을 바꿔보세요,
그리고 goto문은.. 안쓰는게 좋은 명령입니다~
2011/05/01  
GaOnNuRI goto 한 번쓰는 것도 안 좋은가요? ㅋㅋㅋ goto는 책 에서도 설명을 안해준 게 많더라구요 ㅋㅋ 2011/05/02  
clockmaker goto 의 경우는....
원하는 위치로 언제 어디서든 이동할 수 있어서 주로 그 편리함이 부각됩니다.
그러나 코드를 분석하는 사람 입장에서는 goto가 지정하는 위치가 어디인지 찾기도 힘들 뿐더러
코드가 길어질 경우 한참 뒤로 가거나 앞으로 가는 수고를 해야 할 수도 있어
가독성이 크게 떨어집니다.
뭔가 더 있었는데 이 정도밖에 기억이 안 나네요 ㅎㅎ
2011/05/02  
dkdkfjgh #include<time.h>

srand((unsigned int)time(0));
2011/05/08  
maby258 #include <time.h>

srand (time (NULL)) 해도 해결되던데염??ㅎㅎ
2011/05/08