Дописать метод вывода Ханойских башен - C#

Узнай цену своей работы

Формулировка задачи:

Итак. имеется следующий код:
Листинг программы
  1. public class Hanoi
  2. {
  3. int size, moves;
  4. int[] tower1, tower2, tower3;
  5. int top1, top2, top3;
  6. Random rnd = new Random();
  7.  
  8. public Hanoi(int size)
  9. {
  10. this.size = size;
  11. tower1 = new int[size];
  12. tower2 = new int[size];
  13. tower3 = new int[size];
  14. top1 = size; top2 = top3 = moves = 0;
  15. }
  16.  
  17. public void Fill()
  18. {
  19. for (int i = 0; i < size; i++)
  20. tower1[i] = size - i;
  21. }
  22.  
  23. public void HanoiTowers()
  24. {
  25. HT(ref tower1, ref tower2, ref tower3, ref top1, ref top2, ref top3, size);
  26. Console.WriteLine("\nВсего ходов 2^n -1 = {0}", moves);
  27. }
  28. /// <summary>
  29. /// Перенос count колец с tower1 на tower2, соблюдая
  30. /// правила и используя tower3. Свободные вершины
  31. /// башен - top1, top2, top3
  32. /// </summary>
  33. ///
  34. void HT(ref int[] t1, ref int[] t2, ref int[] t3, ref int top1, ref int top2, ref int top3, int count)
  35. {
  36. if (count == 1) Move(ref t1, ref t2, ref top1, ref top2);
  37. else
  38. {
  39. HT(ref t1, ref t3, ref t2, ref top1, ref top3, ref top2, count - 1);
  40. Move(ref t1, ref t2, ref top1, ref top2);
  41. HT(ref t3, ref t2, ref t1, ref top3, ref top2, ref top1, count - 1);
  42. }
  43. }//HT
  44.  
  45. void Move(ref int[] t1, ref int[] t2, ref int top1, ref int top2)
  46. {
  47. t2[top2] = t1[top1 - 1];
  48. top1--; top2++; moves++;
  49. //PrintTowers();
  50. }//Move
  51. public void TestHanoiTowers()
  52. {
  53. Hanoi han = new Hanoi(10);
  54. Console.WriteLine("Ханойские башни");
  55. han.Fill();
  56. han.PrintTowers();
  57. han.HanoiTowers();
  58. han.PrintTowers();
  59. }
  60. }//Hanoi
нужно дописать метод PrintTowers, но почему-то не получается, пробовал разные варианты, но не могу получить доступ к массивам tower. Выводить должен как на картинке во вложении. Бесконечные плюсы в карму за помощь

Решение задачи: «Дописать метод вывода Ханойских башен»

textual
Листинг программы
  1. void HT(ref int[] t1, ref int[] t2, ref int[] t3, ref int top1, ref int top2, ref int top3, int count)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы