책 내용 질문하기
난수 rand srand 99페이지 문제 2번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
99
조회수
330
작성일
2019-05-28
작성자
강*훈
첨부파일
99페이지 2번 문제가 이해가 안되네요 이 부분 토막강의를 만들어주셨음 좋겠어요. 문제풀이 영상은 따로 없나요? 난수가 무엇이다라고 설명만하고 이런문제가 나오니 당황스럽네요.. 사진에서 왜 hist[n-1]이 들어가는지와 2번답은 왜 hist[i] 왜 i인지 보다쉽게 해설 부탁드립니다~
답변
2019-05-28 11:48:04

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

 

489쪽의 해설을 기준으로 설명드리겠습니다.

 

먼저 6번의 rand()%6+1은 1~6까지의 난수를 반환받는 식에 해당합니다.

이를 배열 hist[0]~hist[5]에 분리하여 저장하기 위해서는 난수로 받은 값에 -1을 해주어야 하죠.

즉, 3이 나오면 hist[2]에 저장하고, 5가 나오면 hist[4]에 저장하는 식입니다.

 

출력할 때는 이를 고려해야 합니다.

반환된 난수 1~6은 hist[0]~hist[5] 에 저장되었으니

 

i가 0일 때 1(i+1)의 값은 hist[0]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

i가 1일 때 2(i+1)의 값은 hist[1]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

i가 2일 때 3(i+1)의 값은 hist[2]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

i가 3일 때 4(i+1)의 값은 hist[3]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

i가 4일 때 5(i+1)의 값은 hist[4]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

i가 5일 때 6(i+1)의 값은 hist[5]에 저장되어 있으니 hist[i]를 출력해줘야 하는 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-05-28 11:48:04

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

     

    489쪽의 해설을 기준으로 설명드리겠습니다.

     

    먼저 6번의 rand()%6+1은 1~6까지의 난수를 반환받는 식에 해당합니다.

    이를 배열 hist[0]~hist[5]에 분리하여 저장하기 위해서는 난수로 받은 값에 -1을 해주어야 하죠.

    즉, 3이 나오면 hist[2]에 저장하고, 5가 나오면 hist[4]에 저장하는 식입니다.

     

    출력할 때는 이를 고려해야 합니다.

    반환된 난수 1~6은 hist[0]~hist[5] 에 저장되었으니

     

    i가 0일 때 1(i+1)의 값은 hist[0]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

    i가 1일 때 2(i+1)의 값은 hist[1]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

    i가 2일 때 3(i+1)의 값은 hist[2]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

    i가 3일 때 4(i+1)의 값은 hist[3]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

    i가 4일 때 5(i+1)의 값은 hist[4]에 저장되어 있으니 hist[i]를 출력해줘야 하고,

    i가 5일 때 6(i+1)의 값은 hist[5]에 저장되어 있으니 hist[i]를 출력해줘야 하는 것입니다.

     

    행복한 하루되세요 :)

  • 관리자
    2019-05-29 11:48:51

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

     

    가능한 수험생의 입장에서 설명드리고 노력하고 있으나, 질문의 의도를 정확히 파악하지 못하거나 수험생이 어디까지 이해하고 질문하였는지 이해하지 못해 가능한 식을 풀이하는 방식으로 해설드리는 경우가 많습니다.

     

    이후 가능한 정확한 답변을 드리도록 노력하겠습니다.

     

    행복한 하루되세요 :)

  • *
    2019-05-28 21:56:08

    설명이 여기는 너무 부족합니다 다른 수험생에게 물어보니

     

    rand함수는 난수이기 때문에 그걸 6으로 나누면 나머지 값이 무조건 0~5까지의 값이

     

    나온다고 들었습니다 그래서 +1해주는거고 주사위는 1~6이니까 이게 맞습니까?

     

    만약 맞다면 이 설명이 훨씬 알아듣기 쉬웠는데 이런 설명 좀 부탁드립니다.

     

    식을 적어놓고 풀이과정만 적으시면 기초중에 기초인 저는 이해가 너무 어렵습니다.

     

    질문을 적어도 그 다음날 답변이 오는데 이런 답변이 오면 힘빠집니다 시간도 없는데

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