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;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.