새싹교실/2011/學高/8회차 (rev. 1.7)
과제 ¶
- array를 도식화해서 그려보세요
- 아래 소스코드를 큰 틀로 해서 recursive function을 이용하여 하노이의 탑 시뮬레이션 프로그램을 작성하라(이동 상황을 출력한다, 전역변수를 이용하여 횟수를 카운트하게 하여 H_n = 2*H_n-1 + 1 점화식에 맞는 답이 나옴을 보여야한다.)
#include <stdio.h>
int count=0;
void hanoi(char from,char to,char mid,int num){
if(num>0){
// Input your code
count++;
}
}
int main(){
int numOfRings;
printf("원판의 개수: ");
scanf("%d",&numOfRings);
hanoi('A','C','B',numOfRings);
printf("총 실행회수: %d\n",count);
return 0;
}
즉석에서 짠 코드이므로 컴파일 에러나면 알아서 잡아주세요
- 컴파일은 안 해봤지만 함수 원형 선언 시 매개변수의 타입은 왜 써주지 않았는지 궁금하네요. 받을 때는 num으로 받고 쓸 때는 n으로 쓴 것도; 그리고 전역 변수를 안 써도 리턴 값을 통해 카운트 충분히 할 수 있을 것 같은데... - 김수경
- 음... 헤더는 제가 실수한거구요. 하노이의 탑을 짤 때 제대로 짰는지 확인해보라는 의미로 count를 넣었기 때문에 굳이 함수의 형태를 건들기보단 전역변수를 임시로 선언해서 쓰는것이 더 좋을 것 같아서 이렇게 작성했습니다. - 윤종하
가르친 내용 ¶
- recursive function
- random()
- array
- passing by value(call by value와의 차이점)
- Memory 상에서의 array
- index는 0부터 시작한다
- declaration과 사용
자기 반성 및 고칠점 ¶
- 앞으로 날밤새고 새싹하지 않겠다. 술먹고 취해서 새싹하는 느낌이었다.