PDA

View Full Version : پیاده سازی برج هانوی با تابع بازگشتی



ho3ein.3ven
پنج شنبه 11 آبان 1391, 13:30 عصر
سلام بر همگی
دوستان چطور میشه برج هانوی رو با تابع بازگشتی پیاده سازی کرد ؟
به این عکس که ضمیمه کردم توجه کنید :
94483
تو سایت هم جستجو کردم ولی اون چیزی نیست که تو نظر منه .
با تشکر

امین مستانی
جمعه 12 آبان 1391, 01:21 صبح
سلام

به این مطلب به طور اتفاقی برخوردم
http://www.aachp.ir/post-%D8%A8%D8%B1%D8%AC-%D9%87%D8%A7%D9%86%D9%88%DB%8C.aspx

موفق باشید

ho3ein.3ven
سه شنبه 16 آبان 1391, 20:52 عصر
تشکر از شما . ولی این کلا با اون چیزی که من می خوام فرق داره.

sr2m72
چهارشنبه 17 آبان 1391, 00:33 صبح
بفرماييد:


Private Function hanoi(n%, start$, temp$, finish$)
If n = 1 Then
Print ("Disk " & n & " from " & start & " to " & finish)
Else
hanoi n - 1, start, finish, temp
Print ("Disk " & n & " from " & start & " to " & finish)
hanoi n - 1, temp, start, finish
End If
End Function

بعد:

Private Sub Command1_Click()
hanoi 3, "A", "B", "C"
End Sub

ho3ein.3ven
چهارشنبه 17 آبان 1391, 21:04 عصر
بفرماييد:


Private Function hanoi(n%, start$, temp$, finish$)
If n = 1 Then
Print ("Disk " & n & " from " & start & " to " & finish)
Else
hanoi n - 1, start, finish, temp
Print ("Disk " & n & " from " & start & " to " & finish)
hanoi n - 1, temp, start, finish
End If
End Function

بعد:

Private Sub Command1_Click()
hanoi 3, "A", "B", "C"
End Sub


متشکرم از شما دوست عزیز . ولی اگر یک نگاهی به تصویری که گذاشتم بیاندازید ممنون میشم.من می خوام برج هانوی رو اینطوری پیاده سازی کنم.اول کامل دیسک ها از A وارد C بشن و بعد همگی از C وارد B بشه . با تشکر

sr2m72
چهارشنبه 17 آبان 1391, 21:49 عصر
متشکرم از شما دوست عزیز . ولی اگر یک نگاهی به تصویری که گذاشتم بیاندازید ممنون میشم.من می خوام برج هانوی رو اینطوری پیاده سازی کنم.اول کامل دیسک ها از A وارد C بشن و بعد همگی از C وارد B بشه . با تشکر

اين كه ديگه نميشه بهش گفت برج هانوي!
فكر نكنم همچين چيزي با الگوريتم بازگشتي قابل پياده سازي باشه!

ho3ein.3ven
چهارشنبه 17 آبان 1391, 23:36 عصر
بله حق با شماست . ولی الان نیاز دارم که پیاده سازی کنم این الگوریتم رو.هر کاری هم می کنم نمیشه .

SlowCode
پنج شنبه 18 آبان 1391, 00:49 صبح
از اینجا به بعدش ربطی به تابع بازگشتی نداره، ببین تو n تا میله داری پس اونارو با line درست میکنی، حالا به تعداد مهره ها هم shape میندازی.
بعد خروجی های تابع بازگشتی رو توی یه آرایه ذخیره میکنی، فقط اعداد رو. حالا میای از روی اونا شئ ها رو جا به جا میکنی. کار سختی نیست ولی یکم دقت میخواد.
کاری نداره بشین بنویس اگه مشکل داشتی بگو.