안녕하세요
한가지 문의가 있어서 글 남깁니다.
책 245페이지 반복문에 보면
i=1,2,1(문제에서는 4에서 2로 변경한 부분) 이 부분에서
A(NMG) <> 0 이 YES일때 i=i-1 이라고 답에 나오는데요
디버깅 부분중에 i=2일때 A(NMG) <> 0 아니라면 i값을 감소시키는데
2 = 2 - 1(는 1) 에서 끝나서 다시 반복문 처음으로 돌아가면
1증가이니 2가 되어야 하는게 아닌가 싶어서 문의드립니다.(물론 이렇게 되면 무한 반복이지만요)
디버깅에 있는 0이 어떻게 나오는건지 이해가 안되네요...
반복문은 1증가 반복문인데 말이죠;;
안녕하세요.
반복문의 역할은 1증가를 하면서 각 해당 위치에 반이 배정되어 있는지 여부를 검사하는 것입니다.
반이 배정되어 있는 경우에는 건너뛰는 2반에서 제외해야 하므로 -1을 해주게 됩니다.
즉 1증가를 수행하지만 과정상 반이 배정되어 있는 경우가 발생하면 -1을 해주므로 뒤로 갈수록 -1의 경우가 많아서 i값의 변화가 복잡해 집니다.
그러므로 이 알고리즘을 정확히 디버깅을 하려면 색이 라는 펜을 이용해 반이 배정되는 경우와 건너뛰는 경우를 체크하면서 수행해야 합니다.
이점을 염두에 두고 디버깅을 차근히 수행해 보세요.
그래도 잘 이해되지 않는 부분이 있다면 02-323-0922(1시~5시)로 전화주세요.
오늘도 즐거운 하루 되세요.
"-
*2011-09-30 09:13:53
안녕하세요.
반복문의 역할은 1증가를 하면서 각 해당 위치에 반이 배정되어 있는지 여부를 검사하는 것입니다.
반이 배정되어 있는 경우에는 건너뛰는 2반에서 제외해야 하므로 -1을 해주게 됩니다.
즉 1증가를 수행하지만 과정상 반이 배정되어 있는 경우가 발생하면 -1을 해주므로 뒤로 갈수록 -1의 경우가 많아서 i값의 변화가 복잡해 집니다.
그러므로 이 알고리즘을 정확히 디버깅을 하려면 색이 라는 펜을 이용해 반이 배정되는 경우와 건너뛰는 경우를 체크하면서 수행해야 합니다.
이점을 염두에 두고 디버깅을 차근히 수행해 보세요.
그래도 잘 이해되지 않는 부분이 있다면 02-323-0922(1시~5시)로 전화주세요.
오늘도 즐거운 하루 되세요.
"