|
برج هانوي
|
|
نويسنده |
پيغام |
lord_akinak متخصص ساخت بازی
تاريخ عضويت: شنبه 15 ارديبهشت 1386 تعداد ارسالها: 349 محل سكونت: Hell
1 شنبه 30 ارديبهشت 1386 - 20:33 |
|
|
اين الگوريتم بازگشتي برج هانوي است. از اونجا كه در پي طراحي هوش مصنوعي بايد با الگوريتم هاي بازگشتي آشنا باشيد ( http://www.persian-designers.com/forum/viewtopic.php?t=2843) براي تكميل كار اين كدها الگوريتم برج هانوي است در Cpp ::
كد: |
#include <iostream.h>
#include <iomanip.h>
enum state { MAB = 1 , HEL , DES };
void hanoy (const int &, const state &, const state &, const state &);
int counter = 0;
int main() {
state destination = DES;
state mabda = MAB;
state help = HEL;
cout << "Welcome to Hanoy Tawer Simulation :)\nPlease Enter Towers Hieght : ";
int hight;
cin >> hight;
while ( hight > 0 ) {
::counter = 0;
hanoy(hight , mabda , help , destination );
cout << "Total moves for this tower : " <<
counter << "\nPlease Enter Another Hieght Or 0 To Exit : ";
cin >> hight;
}
return 0;
}
void hanoy (const int &total , const state &mab , const state &hel , const state &des) {
if (total == 1) { // do this and rest
cout << setw(5) << mab << " - > " << des << endl;
::counter ++;
} else {
hanoy ( total - 1 , mab , des , hel );
cout << setw(5) << mab << " - > " << des << endl;
::counter ++;
hanoy ( total - 1 , hel , mab , des );
}
}
|
اگه الگوریتم دیگه ای می شناسید معرفی کنید ، برای اعضای جوان مفیده ! |
_________________ And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now |
|
بازگشت به بالا |
|
|
|
|
|
|
|
نويسنده |
پيغام |
_Akhtar پیر بازی سازی
تاريخ عضويت: جمعه 10 فروردين 1386 تعداد ارسالها: 1212
1 شنبه 14 مرداد 1386 - 13:04 |
|
بازگشت به بالا |
|
نويسنده |
پيغام |
hosseinataeefard پیر بازی سازی
تاريخ عضويت: 5 شنبه 11 خرداد 1385 تعداد ارسالها: 606 محل سكونت: teh
1 شنبه 14 مرداد 1386 - 14:43 |
|
|
من هم یک کد دارم که فکر کنم ساده تر باشه
كد: |
#include <iostream.h>
int hanoy(int n , char mab='A', char magh='C' , char kom='B' );
int main()
{
int in;
cout << "\enter your number for hanoy\n" ;
cin>> in ;
hanoy(in);
return 0 ;
}
int hanoy (int n , char mab, char magh , char kom)
{
if (n==1)
{
cout<< mab<< "--"<<magh<<"\t";
return 0 ;
}
hanoy(n-1, mab,kom,magh);
cout<< mab<< "--" << magh<<"\t";
return hanoy ( n-1, kom,magh,mab);
}
|
|
|
|
بازگشت به بالا |
|
|
|
|
|
|
|
|
صفحه 1 از 1 |
تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
|
|
شما نمي توانيد در اين انجمن نامه ارسال كنيد. شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد
|
|
|