پروژه برنامه مویسی

پروژه برنامه نویسی

پروژه برنامه مویسی

پروژه برنامه نویسی

42-3(برج هانوی)

هر متخصص مبتدی علوم کامپیوتری حتما درگیر مسائل کلاسیک خاص شده است.مسئله ی برج های هانوی از معروف ترین مسائل علوم کامپیوتر می باشد.طبق یک روایت افسانه ای کشیشانی در معبدی از شرق سعی می کنند پشته ای از چند دیسک رااز یک میله به میله ای دیگر انتقال دهند. پشته ی اولیه ی دارای 64 دیسک می باشد که روی یک میله قرار گرقته اند و اندازه ی دیسک ها از پایین به بالا به ترتیب نزولی مرتب شده اند.کشیشان می خواهند این پشته را از یک میله به میله ای دیگر انتقال دهند به شرطی که اولا در هر مرحله فقط یک دیسک جابه جا شود و هیچ موقع نباید دیسک بزرگ تر بالای دیسک کوچک تر قرار گیرد.میله ی سوم نیز برای نگهداری موقف دیسک ها استفاده شده است.گفته می شود  زمانی که کشیشان کار خود را به پایان برسانند پایان جهان فرا می رسد. بنابراین انگیزه ی زیادی در اسان کردن کار ان ها نیست.





#include<iostream>

#include<conio.h>

using namespace std;

void towers(int, int, int, int);

int main()

{

int nDisks;

cout << "Enter the starting number of disks: ";

cin >> nDisks;

towers(nDisks, 1, 3, 2);

getch();

return 0;

}

void towers(int disks, int start, int end, int temp)

{

if (disks == 1) {

cout << start << "  --> " << end << '\n';

return;

}

//move disks - 1 disks from start to temp

towers (disks - 1, start, temp, end);

//move last disks from start to end

cout << start << "  --> " << end << '\n';

//move disks - 1 disks from temp to end

towers(disks - 1, temp, end, start);

}




نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.