책 내용 질문하기
2019년 1회 모의고사 산업기사
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
3
조회수
155
작성일
2019-09-05
작성자
탈퇴*원
첨부파일

문제 2번에 num이 하는일이 무엇인가요??

 

다른건 알게쓴데 num=0을 주는 이유가 뭐죠? 

답변
2019-09-06 09:57:46

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

 

a[i][j] = j <= mid ? ++num : --num; 

 

삼항연산자가 포함된 위 코드에서 알 수 있습니다.

 

<출력> 형태와 같이 변수 num은

1,

1, 2, 1

1, 2, 3, 2, 1

1, 2, 1

1

 

이렇게 값이 변화하면서 a[i][j]에 값을 넣게 되죠.

 

매 열마다 num을 0으로 초기화한 후, j가 중간값(mid)보다 작거나 같을 때는 +1을 클 때는 -1을 수행하여, 매 열마다 0부터 중간값까지 증가했다가 다시 0까지 감소하는 값을 갖게 되죠.

 

만약 num을 0으로 초기화하지 않는다면,

(초기값 없이 ++, -- 수행은 불가능 하니 초기 선언시 0이 되고 i반복에서 빠진다고 가정하면)

 

  0  0  1  0  0

  0  2  3  2  0

  3  4  5  4  3

  0  4  5  4  0

  0  0  5  0  0

 

위와 같이 출력되겠네요.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-06 09:57:46

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

     

    a[i][j] = j <= mid ? ++num : --num; 

     

    삼항연산자가 포함된 위 코드에서 알 수 있습니다.

     

    <출력> 형태와 같이 변수 num은

    1,

    1, 2, 1

    1, 2, 3, 2, 1

    1, 2, 1

    1

     

    이렇게 값이 변화하면서 a[i][j]에 값을 넣게 되죠.

     

    매 열마다 num을 0으로 초기화한 후, j가 중간값(mid)보다 작거나 같을 때는 +1을 클 때는 -1을 수행하여, 매 열마다 0부터 중간값까지 증가했다가 다시 0까지 감소하는 값을 갖게 되죠.

     

    만약 num을 0으로 초기화하지 않는다면,

    (초기값 없이 ++, -- 수행은 불가능 하니 초기 선언시 0이 되고 i반복에서 빠진다고 가정하면)

     

      0  0  1  0  0

      0  2  3  2  0

      3  4  5  4  3

      0  4  5  4  0

      0  0  5  0  0

     

    위와 같이 출력되겠네요.

     

    행복한 하루되세요 :)

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