책 내용 질문하기
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해준건데 뭐가 다른가요? 

     

     

    혹시나해서 돌려봤더니 제꺼 이렇게 같은 값이 도출되네요. 

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