안녕하세요 길벗 수험서 운영팀입니다.
디버깅표를 작성하면서 보시면 확실히 아실 수 있습니다.
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회 동일합니다.)
행복한 하루 되세요 :)