게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C와 C++로 짠 알고리즘이 똑같은데 C++은 실행이 제대로 안되네요
게시물ID : programmer_9262짧은주소 복사하기
작성자 : 훗날닭집사장
추천 : 0
조회수 : 6015회
댓글수 : 4개
등록시간 : 2015/04/11 02:06:43
옵션
  • 본인삭제금지
void towerHanoi (char from, char to, char aux, int n)
{
if (n==1)
printf("move disk 1 from peg%c to peg%c\n", from , to);
else
{
towerHanoi(from, aux, to , n-1);
printf("move disk %d from peg %c to peg %c\n ", n, from, to);
towerHanoi(aux, to, from, n-1);
}
}
void main()
{
towerHanoi('A', 'C', 'B', 3);
}
 
 
void Hanoi(char from, char to, char aux, int n)
{
 if(n == 1)
  cout << "move disk 1 from peg " << from << " to peg " << to << endl;
 else
  Hanoi(from, aux, to, n-1);
  cout << "move disk " << n <<" from peg " << from << " to peg " << to << endl;
  Hanoi(aux, to, from, n-1);
}
void main()
{
 Hanoi('A', 'C', 'B', 3);
}
 
위 알고리즘이 C고 밑에 알고리즘이 C++인데 토씨하나 안틀리고 다 똑같은데요.
C는 정상적으로 7줄이 출력 되는데 C++은 단 2줄 밖에 출력이 안되네요.
 
C++은 경고가 하나 뜨는데 'Hanoi' : 모든 제어 경로에서 재귀적입니다. 함수로 인해 런타임 스택 오버플로가 발생합니다.
 
이런 경고가 뜨기도 하고요. 대체 어느게 문젠건가요..?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호