책 내용 질문하기
질문드립니다
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
267
조회수
72
작성일
2017-03-23
작성자
첨부파일

안녕하세요.

두 가지 질문이 있습니다.

Q1. 267쪽

C언어 코드 하단 14번에 while ( j < 8 - i ); 이렇게 적혀있는데,

왜 9가 아닌 8인가요??

Do~while 문이라서 무조건 한번실행 후 while문을 벗어나므로, 8-i가 되는 것인가요?

Q2. 345쪽 차트

i 반복문 안 8번이 i >= 3 이 답인 것은 이해가 갑니다.

3이 'INT(i/2)+1' 즉 행의 1/2로 대체 될 수는 없는 건가요??

만약 대체 될 수 없는 이유가 주어진 배열이 5행5열(A[5][5])으로 정해져 있어서라면,

주어진 배열이 N행N열일 경우(A[N][N])엔 'INT(i/2)+1'이 답이 될 수 있나요?

답변
2017-03-24 17:09:39

안녕하세요.

1)

배열의 위치가 0부터 시작하므로 배열은 DATA[0] ~ DATA[9]까지 입니다.

또한 배열의 값을 비교할 때 DATA[0]과 DATA[1]과 같이 현재 j와 j+1의 자리를 비교합니다.

그러므로 j가 8일 때 DATA[8]은 DATA[9]와 비교하므로 j를 8까지만 수행하면 됩니다.

i가 0일 때 j도 0이므로

Data[0] ~ Data[8]까지 비교 기준을 잡게 됩니다.

2)

해당 부분에 괄호가 있다면 둘 다 가능합니다.

이런 경우 정답의 범위를 제한 하기 위해 상수로 입력하라 혹은 변수로 입력하라는 지시가 있을 수 있습니다.

상수로만 답을 해야 하는 경우에는 3을 해야 하고 변수와 함께 답을 작성하라고 하면 int(n/2)+1로 할 수 있습니다.

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

  • *
    2017-03-24 17:09:39

    안녕하세요.

    1)

    배열의 위치가 0부터 시작하므로 배열은 DATA[0] ~ DATA[9]까지 입니다.

    또한 배열의 값을 비교할 때 DATA[0]과 DATA[1]과 같이 현재 j와 j+1의 자리를 비교합니다.

    그러므로 j가 8일 때 DATA[8]은 DATA[9]와 비교하므로 j를 8까지만 수행하면 됩니다.

    i가 0일 때 j도 0이므로

    Data[0] ~ Data[8]까지 비교 기준을 잡게 됩니다.

    2)

    해당 부분에 괄호가 있다면 둘 다 가능합니다.

    이런 경우 정답의 범위를 제한 하기 위해 상수로 입력하라 혹은 변수로 입력하라는 지시가 있을 수 있습니다.

    상수로만 답을 해야 하는 경우에는 3을 해야 하고 변수와 함께 답을 작성하라고 하면 int(n/2)+1로 할 수 있습니다.

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

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