검색어 입력폼

순천향대 천인국 교수님 자료구조 레포트

저작시기 2007.10 |등록일 2008.10.19 한글파일한컴오피스 (hwp) | 7페이지 | 가격 1,500원

소개글

순천향대 천인국 교수님 자료구조 레포트입니다.
천인국 교수님 자료구조 실습 듣는분들 참고하세요

목차

없음

본문내용

. [순차탐색] 다음 프로그램은 순차 탐색 알고리즘을 구현한 것이다. 순차 탐색이란
배열에 저장된 숫자와 찾고자 하는 숫자와 하나씩 순차적으로 비교해서 탐색하는
알고리즘을 의미한다. 다음의 프로그램을 컴파일하고 수행하라.
가) find_max_score() 함수를 수정하지 않은 경우(작은버그 수정 X)

프로그램 소스
실행결과


< 출력결과를 알기위하여 printf() 사용 >

☞ 위의 프로그램은 score[]라는 1차원 배열에 있는 원소들의 최대값을 구하는 프로그램
이다. 이때 최대값을 구하는 함수 find_max_score() 가 정의되어 있는데, 이는
score[] 배열의 몇 번째까지의 원소들의 최대값을 구하는지 정할 수 있다.
실재로, main()에서 find_max_score(5)라고 정의하였는데, 이는 배열 score[0]부터
score[5] 까지의 원소들, 즉 1,2,3,5,6,7 중에서의 최대값을 구하게 된다.
실재로 소스에 printf() 를 추가해서 결과를 출력시킨 결과, 최대값 7이 출력된다.

나) find_max_score() 함수를 수정한 경우(작은버그 수정 O)
☞ 위의 소스는 find_max_score(5)일 경우 실재로 score[] 배열을 5개가 아닌
6개를 비교하여 최대값을 찾게 되는데, 이를 6개가 아닌 5개를 비교하는 것으로
수정을 해야만 한다.
따라서, 소스를 수정하여 main()에서의 find_max_score() 함수가 받는 값의 개수가
실재 score[] 배열과 비교되는 값의 개수가 같게 하기 위하여 다음과 같이 수정한다.

프로그램 소스
실행결과


< 출력결과를 알기위하여 printf() 사용 >

☞ for(i=1;i<=n;i++)을 for(i=1;i<n;i++)로 수정한 결과 실재로 find_max_score(5);
라고 함수를 선언한 개수(5개)와 동일하게 함수 내에서도 배열 score[0]부터
score[4]까지의 총 5개의 원소를 비교하여 최대값을 찾는 것을 알수가 있다.
따라서, 1,2,3,5,6 중에서의 최대값을 구하게 되며, 실재로 printf()를 추가하여
출력해본결과 6이 출력되는 것을 알수가 있다.

☞ 아래의 2~6번은 모두 작은버그를 수정한 소스를 가지고 수행하였다.



2. 위의 프로그램을 한 문장씩 실행하여 보라. Visual C++의 Build / Start Debug /
Step Into 기능을 사용하라. 단축키로 F11을 눌러도 된다. Step Over(F10)와는
어떻게 다른지 조사하라.
☞ Step Into와 Step Over는 소스를 한문장씩 디버깅 할 때 쓰이는 기능으로서,
두 개는 모두 main()에서 디버깅이 시작된다는 점에서 공통적이지만,
두 개의 차이는 아래의 표와 같다.

Step Into(F11)
Step Over(F10)

참고 자료

없음
다운로드 맨위로