PDA

View Full Version : سوال: بر ج هانوی



BIGBAD
دوشنبه 18 آذر 1392, 16:24 عصر
سلام برج هانوی با سه محدودیت رو اگر کسی داره توضیح بده

abdorreza
دوشنبه 18 آذر 1392, 18:19 عصر
چه توضیحی دوست عزیز؟ کدشو؟

lionelali18
یک شنبه 09 فروردین 1394, 17:23 عصر
سلام این کد بازگشتی حل مساله برج هانوی است. ی سوال دارم راهنمایی کنید


void hanoi ( int nDisk, char start, char temp, char finish )

{

if ( nDisk == 1 )

cout <<start <<" --> " <<finish <<endl;

else

{

hanoi ( nDisk - 1, start, finish, temp );

cout <<start <<" --> " <<finish <<endl;

hanoi ( nDisk - 1, temp, start, finish );

}

}

وقتی else انجام میشه سه تا دستور همزمان انجام میشه یا دستور اول انجام میشه و دیگه دستور دوم سوم انجام نمیشه؟
چون وقتی دستور اول else رو انجام بده دوباره تابع از اول خونده میشه و از خط اول شزوع میکنه.
ممنون میشم یکم کمک کنید
اگه میشه به ایمیل پاسخ بدید یا همینجا
lionelali18@gmail.com

amirtork
یک شنبه 09 فروردین 1394, 23:26 عصر
سلام،
خطوط بعدی هم اجرا میشن، کافیه یه عبارت برای چاپ بعد از اون خط ها مشخص کنید و بعد اگر چاپ شد، یعنی اجرا میشن بالایی هاش هم!
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <iomanip>
using namespace std;


void hanoi ( int nDisk, char start, char temp, char finish )

{

if ( nDisk == 1 )

cout <<start <<" --> " <<finish <<endl;

else

{
hanoi ( nDisk - 1, start, finish, temp );
cout <<start <<" --> " <<finish <<endl;
hanoi ( nDisk - 1, temp, start, finish );
cout<<"TEST"<<endl;

}

}

int main()
{
hanoi(5, '-' , '*' , '^');
return 0;
}