책 내용 질문하기
1권 99페이지 문제 2번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
99
조회수
282
작성일
2019-06-23
작성자
탈퇴*원
첨부파일

전체적으로 이해가 잘안되서 그런데 자세히 설명 부탁드려요 ㅠㅠ

답변
2019-06-24 15:24:51

안녕하세요 길벗수험서 운영팀입니다.

 

rand() 함수는 무작위 값을 뽑아냅니다.

srand() 함수는 rand() 함수의 기준값을 지정합니다.

time() 함수는 현재 시간을 초단위로 환산하여 반환합니다.

 

즉, 매 초마다 srand함수로 rand의 기준값을 변경하여, rand를 사용할 때 매 초마다 값이 무작위로 추출되게 됩니다.

(srand, time 없이 rand함수를 사용하면 특정 공식에 따른 값이 고정되어 출력됩니다.)

 

이점을 염두에 두시고 코드를 보세요.

rand()%6+1 은 무작위로 뽑히는 rand()함수의 값을 6으로 나눈 나머지(0~5) 값에 1을 더해 주사위 값을 구합니다.

(주사위 값인 1~6이 무작위로 나오겠죠.)

 

이 때 해당 주사위 값의 횟수를 저장하기 위해 주사위 값에 -1을 한 배열의 위치에 저장합니다.

hist[0]에는 주사위가 1이 나올 때 마다 +1을 하여 횟수를 저장하고, 

hist[1]에는 주사위가 2가 나올 때 마다 +1을 하여 횟수를 저장하고, 

....

hist[5]에는 주사위가 6이 나올 때 마다 +1을 하여 횟수를 저장합니다. 

 

이후 이 값을 출력할 때, hist[i]를 출력하면서, i+1 주사위는 hist[i]번 나왔다고 출력하는 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-24 15:24:51

    안녕하세요 길벗수험서 운영팀입니다.

     

    rand() 함수는 무작위 값을 뽑아냅니다.

    srand() 함수는 rand() 함수의 기준값을 지정합니다.

    time() 함수는 현재 시간을 초단위로 환산하여 반환합니다.

     

    즉, 매 초마다 srand함수로 rand의 기준값을 변경하여, rand를 사용할 때 매 초마다 값이 무작위로 추출되게 됩니다.

    (srand, time 없이 rand함수를 사용하면 특정 공식에 따른 값이 고정되어 출력됩니다.)

     

    이점을 염두에 두시고 코드를 보세요.

    rand()%6+1 은 무작위로 뽑히는 rand()함수의 값을 6으로 나눈 나머지(0~5) 값에 1을 더해 주사위 값을 구합니다.

    (주사위 값인 1~6이 무작위로 나오겠죠.)

     

    이 때 해당 주사위 값의 횟수를 저장하기 위해 주사위 값에 -1을 한 배열의 위치에 저장합니다.

    hist[0]에는 주사위가 1이 나올 때 마다 +1을 하여 횟수를 저장하고, 

    hist[1]에는 주사위가 2가 나올 때 마다 +1을 하여 횟수를 저장하고, 

    ....

    hist[5]에는 주사위가 6이 나올 때 마다 +1을 하여 횟수를 저장합니다. 

     

    이후 이 값을 출력할 때, hist[i]를 출력하면서, i+1 주사위는 hist[i]번 나왔다고 출력하는 것입니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.