책 내용 질문하기
1권 370페이지 C코드 문제
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
1,370
조회수
982
작성일
2019-03-23
작성자
탈퇴*원
첨부파일
책에서는 C코드 7번째부터 보면
if (i < m)
L = x - i;
else
L = i + 1;
for (j = 0; j <= L - 1; j++)
로 되어 있는데
if (i < m)
L = ( x - 1) - i;
else
L = i;
for (j = 0; j <= L; j++)
로 하면 안되나요???
답변
2019-03-25 11:23:39
안녕하세요 길벗수험서 운영팀입니다.
1행만 디버깅표를 작성해 보세요.
열의 끝이 6으로 잡히면서, 전체적으로 0의 범위가 넓어집니다.
아래는 해당 회원님의 방법대로 수식을 변경했을 때입니다.
문제에서의 빈 칸의 범위와 0의 범위가 동일해야 합니다.
행복한 하루되세요 :)
-
관리자2019-03-25 11:23:39
안녕하세요 길벗수험서 운영팀입니다.
1행만 디버깅표를 작성해 보세요.
열의 끝이 6으로 잡히면서, 전체적으로 0의 범위가 넓어집니다.
아래는 해당 회원님의 방법대로 수식을 변경했을 때입니다.
문제에서의 빈 칸의 범위와 0의 범위가 동일해야 합니다.
행복한 하루되세요 :)
-
관리자2019-03-26 10:49:30
안녕하세요 길벗수험서 운영팀입니다.
먼저 잘못된 답변으로 혼동드린점 사과드립니다.
코드 검수시
if (i < m)
L = ( x - 1) - i;
else
L = i;위 부분만을 체크하고, 아래의 for문 최대값 변동을 반영하지 않고 확인하여서 발생한 문제입니다.
해당 코드에서 알고리즘이 정상적으로 수행되는 것을 확인하였습니다.
행복한 하루되세요 :)
-
*2019-03-25 12:55:10
왜 a[0][6]이 0이 나오죠?
제 코드는 분명 for(j=0; j<=L; j++)인데 말이죠
책에서는 (j=0; j<=L-1; j++)인데 전 -1안했는데요?
손으로 디버깅 다한건데 같은 결과값이 도출되는데요?
나중에 for에서 -1할 것을 미리 그전 if else에서 -1해준건데 뭐가 다른가요?
혹시나해서 돌려봤더니 제꺼 이렇게 같은 값이 도출되네요.