책 내용 질문하기
378p알고리즘 질문입니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
379
조회수
101
작성일
2018-12-30
작성자
탈퇴*원
첨부파일
378p알고리즘은 질문입니다. 1번문제 k=i-j인데 i-j를 빼는지 잘모르겠습니다. 설명해주세요 그리고 379pc언어 중에서 for(i=0 ; i<=8, i++)인지 잘모르겠다. 알고리즘이서는 2부터 시작했는데 C언어에서도 2부터 시작해야되는거 아닠가요?
답변
2019-01-02 13:54:17

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

 

디버깅표를 작성하면서 보시면 확실히 아실 수 있습니다.

 

k값은 i에서 j를 뺌으로써 1, 0... 2, 1, 0... 3, 2, 1, 0...으로 변화합니다.

회전수(바깥 반복문)에서 배열의 행 위치(안쪽 반복문)의 값을 뺌으로써 값이 들어갈 열 위치를 계산하는 과정이죠.

 

---------------------

 

순서도에서 사용한 배열은 1~5행 1~5열을 사용하지만, C언어에서은 배열을 0~4행, 0~4열을 사용합니다.

이 것을 실제로 대응해보면 값이 2가 차이가 나게 됩니다.

 

첫 행인 a[0][0]을 구하기 위해서는 j와 k의 값이 0이어야 하는데, 이를 고려하면 안쪽 반복문 j는 0부터 시작하여야 합니다.

또한, k값인 i-j가 0이 되어야 하니 바깥 반복문 i도 0에서 시작하여야 하는 것이죠.

(회전수는 2~10 9회, 0~8 9회 동일합니다.)

 

행복한 하루 되세요 :)

  • 관리자
    2019-01-02 13:54:17

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

     

    디버깅표를 작성하면서 보시면 확실히 아실 수 있습니다.

     

    k값은 i에서 j를 뺌으로써 1, 0... 2, 1, 0... 3, 2, 1, 0...으로 변화합니다.

    회전수(바깥 반복문)에서 배열의 행 위치(안쪽 반복문)의 값을 뺌으로써 값이 들어갈 열 위치를 계산하는 과정이죠.

     

    ---------------------

     

    순서도에서 사용한 배열은 1~5행 1~5열을 사용하지만, C언어에서은 배열을 0~4행, 0~4열을 사용합니다.

    이 것을 실제로 대응해보면 값이 2가 차이가 나게 됩니다.

     

    첫 행인 a[0][0]을 구하기 위해서는 j와 k의 값이 0이어야 하는데, 이를 고려하면 안쪽 반복문 j는 0부터 시작하여야 합니다.

    또한, k값인 i-j가 0이 되어야 하니 바깥 반복문 i도 0에서 시작하여야 하는 것이죠.

    (회전수는 2~10 9회, 0~8 9회 동일합니다.)

     

    행복한 하루 되세요 :)

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