مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

برج هانوی با استفاده از توابع

چهارشنبه, 05 دی 1397 23:16

برج هانوی با استفاده از توابع

سلام و خسته نبشید خدمت  اساتید  

کد برج هانوی   با استفاده از تابع 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باشه   ممنون از نظرات شما 

یا حق 

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید