책 내용 질문하기
교재 392페이지 예상문제은행 문제10번에서 f(행의 끝 위치를 지정해 주는 변수) 값 구하는 식 관련 질문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
392
조회수
119
작성일
2017-04-07
작성자
탈퇴*원
첨부파일

안녕하세요?

교재 392페이지 예상문제은행 문제10번에서 f(행의 끝 위치를 지정해 주는 변수) 값 구하는 식 관련 질문이 있습니다.

일단 문제를 분석해보면,

j(열) 행의 시작위치(s) 행의 끝 위치(f)

0 0 6

1 1 5

2 2 4

3 3 3

4 2 4

5 1 5

6 0 6

위와 같습니다. 그리고 배열의 중간 열번호 ct는 3입니다.

c언어에서 for (j=0; j<=n; j++)로 j가 0부터 시작하는데요.

f는 3(ct값)보다 작을 경우, f=n-j;를 수행하므로, 현재 n은 7로 초기화된 상태에서 시작되니

7-0이면 f가 0이 되는거 아닌가요? 마찬가지로 f가 3보다 클 경우(else조건) f=j+1;을 수행하게 되는데,

j가 6이라고 가정하면, 6+1은 7이되어 f가 7이 되는데 제가 분석한 결과와 다릅니다.

어느 부분이 잘못된 것인지 검토 부탁드립니다.

답변
2017-04-10 09:21:57

안녕하세요.

f는 행의 끝 위치를 지정해 주는 변수로

f = n-j; 또는 f = j+1;을 수행한 후 실제 for문에서 q<=f-1까지 진행되므로

j가 0일 때 f는 7이지만 for문에서는 0~6까지 진행됩니다.

for문에서 f-1까지 진행된다는 것을 염두에 두고 디버깅을 수행하면서 값 변화를 살펴보세요.

오늘도 즐거운 하루 되세요.

  • *
    2017-04-10 09:21:57

    안녕하세요.

    f는 행의 끝 위치를 지정해 주는 변수로

    f = n-j; 또는 f = j+1;을 수행한 후 실제 for문에서 q<=f-1까지 진행되므로

    j가 0일 때 f는 7이지만 for문에서는 0~6까지 진행됩니다.

    for문에서 f-1까지 진행된다는 것을 염두에 두고 디버깅을 수행하면서 값 변화를 살펴보세요.

    오늘도 즐거운 하루 되세요.

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