سلام و خسته نبشید خدمت اساتید
کد برج هانوی با استفاده از تابع xy در محیط c++ بصورت command line رو میخوام.
شروط برنامه :
1-دیسک برداشته شده باید روی یک میله قرار بگیرد
2- فقط یک دیسک در یک زمان میتواند انتقال یابد
3-دیسک بزرگ نمیتواند روی دیسک کوچک قرار بگیرد
منطق برنامه:
با استفده از رسم خطوط عمودی در صفحه 3 خط عمودی بعنوان میله رسم میکنیم .و به هر خط یک اسم میدهیم که هنگام فراخوانی مجبور به نوشتن مختصات نباشیم
روی خط اول سه دیسک تعریف میکنیم(این کار را میشود با سه خط افقی انجام داد و به آنها نیز اسم خاص اختصاص داد)
با شروط و دستورات go to مکان سه دیسک را طبق برنامه ریزی برج هانوی جابجا میکنیم.
در انتهای برنامه با دستور delay ثانیه ای وقفه برای نمایش هر خط استفده میکنیم.
این هم کد ساده ی این برنامه هستش :
#include <stdio.h>
// C recursive function to solve tower of hanoi puzzle
void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod)
{
if (n == 1)
{
printf("\n Move disk 1 from rod %c to rod %c", from_rod, to_rod);
return;
}
towerOfHanoi(n-1, from_rod, aux_rod, to_rod);
printf("\n Move disk %d from rod %c to rod %c", n, from_rod, to_rod);
towerOfHanoi(n-1, aux_rod, to_rod, from_rod);
}
int main()
{
int n = 3; // Number of disks
towerOfHanoi(n, 'A', 'C', 'B'); // A, B and C are names of rods
return 0;
}
دوستان متن بالا درک خودم از برنامه ای هست که استاد محترمم از بنده خواسته و پیاده سازی در محیط c++ رو اگر کسی میتونه ممون میشم کمکم کنه .
چه گرافیکی چه command lineباشه ممنون از نظرات شما
یا حق
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)