C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[428] ] 재귀호출함수두번째/프포
siwonkim [ ] 5889 읽음    1998-06-25 08:27
   안녕하세요?
지난번에 재귀호출함수에 대해서 보내주신 답변은 고맙게 받아 보았습니다.  그런데 문제는 저의 IQ에 있는것 같더군요!  보내주신 답변을 심사숙고하니, 예로 들어주신 n!함수는 이해가 되는데요,  저의 경우에서와 같이 재귀호출함수가 두번 사용된  함수의 LEVEL값의 변화에 따른 함수들의 호출관계 및 진행과정을 VC++5.0을 이용하여 F10 Key 및 F11 Key를 이용하여 단계별로 변수들의 변화와 진행하는 cusor의 위치에 따른 함수의 경로를 추적하여 보았습니다.  cusor를 따라 이리저리 돌아다녀 보았지만, 첫번째 재귀호출함수의 진행 후의 두번째 재귀호출함수의 호출과정과 두번째 재귀호출함수에서의 진행과정상에서 접하게 되는 첫번째 재귀호출함수의 처리 문제와 각각의 LEVEL값의 변화에 있어서 진행되는 단계들이 이해하기 어렵더군요.  귀찮으시더라도 LEVEL값의 변화에 따른 함수들의 진행관계나, 각 함수들의 호출 진행을 자세히 설명해 주시면 정말 감사하겠습니다.
참고로 재귀호출함수를 다시 적어 보내 드립니다.

//ruler.cpp-눈금자를 세분하기 위한 재귀 호출의 사용
#include <iostream.h>
const int Len = 66;
const int Divs = 6;
void subdivide(char ar[], int low, int high, int level);

int main(void)
{
        char ruler[Len];
       
        for (int i = 1; i < Len - 2; i++)
                ruler[i] = ' ';
       
        ruler[Len - 1] = '\0';
        int max = Len - 2;
        int min = 0;
        ruler[min] = ruler[max] = ':';
        cout << ruler << "\n";

        for (i = 1; i <= Divs; i++)
        {
                subdivide(ruler, min, max, i);
                cout << ruler << "\n";
               
                for (int i = 1; i < Len - 2; i++)
                        ruler[i] = ' '; // 빈 눈금자로 리셋
        }

        return 0;
}

void subdivide(char ar[], int low, int high, int level)
{
        if (level == 0)
                return;
        int mid = (high + low) / 2;
        ar[mid] = ':';

        subdivide(ar, low, mid, level - 1);
        subdivide(ar, mid, high, level - 1);
}
        ****** from " C++ 기초플러스 제2판" - 성안당
                page : 358p.


+ -

관련 글 리스트
428 ] 재귀호출함수두번째/프포 siwonkim 5889 1998/06/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.