Дан стек размера N. Изменить порядок его элементов на обратный - C#

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

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

Доброго вечера! Помогите, пожалуйста, с задачей:

Дан стек размера N. Изменить порядок его элементов на обратный.

Для решения создан класс Stack
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ПЕРВЫЕ_УЧЕБНЫЕ_КЛАССЫ
  6. {
  7. class Stack
  8. {
  9. byte[] mas;
  10. int tos;
  11. int dlina;
  12. bool errflag;
  13. public Stack(int size)
  14. {
  15. mas = new byte[size];
  16. tos = 0;
  17. }
  18. public void Push(byte simb)
  19. {
  20. if (tos == mas.Length)
  21. {
  22. Console.WriteLine("Стек полон!");
  23. return;
  24. }
  25. mas[tos] = simb;
  26. tos++;
  27. }
  28. public ushort Pop()
  29. {
  30. if (tos == 0)
  31. {
  32. Console.WriteLine("Стек пуст!");
  33. return (ushort)0;
  34. }
  35. tos--;
  36. return mas[tos];
  37. }
  38. public bool Full() { return tos == mas.Length; }
  39. public bool Empty() { return tos == 0; }
  40. public int Capacity() { return mas.Length; }
  41. public int Get_num() { return tos; }
  42. public void Show()
  43. {
  44. for (int i = mas.Length - 1; i >= 0; i--)
  45. Console.WriteLine(mas[i]);
  46. Console.WriteLine();
  47. }
  48. public void Show(Stack Ob)
  49. {
  50. for (int i = mas.Length - 1; i >= 0; i--)
  51. Console.WriteLine(mas[i]);
  52. Console.WriteLine();
  53. }
  54. public Stack(Stack Ob)
  55. {
  56. mas = new byte[Ob.Capacity()];
  57. for (int i = 0; i < Ob.tos; i++)
  58. mas[i] = Ob.mas[i];
  59. tos = Ob.tos;
  60. }
  61. public int Razmer
  62. {
  63. get
  64. {
  65. return dlina;
  66. }
  67. }
  68. public bool Oshibka
  69. {
  70. get
  71. {
  72. return errflag;
  73. }
  74. }
  75. private bool Ok(int index)
  76. {
  77. if (index >= 0 && index < Razmer) return true;
  78. else
  79. return false;
  80. }
  81. public byte this[int index]
  82. {
  83. get
  84. {
  85. if (Ok(index))
  86. {
  87. errflag = false;//Ошибки нет!
  88. return mas[index];
  89. }
  90. else
  91. {
  92. errflag = true;//Ошибка индекса!
  93. return 0;//Без.прог.кода.
  94. }
  95. }
  96. set
  97. {
  98. if (Ok(index))
  99. {
  100. errflag = false;
  101. mas[index] = value;
  102. }
  103. else
  104. errflag = true;
  105. }
  106. }//Конец класса
  107. }
  108. }
Не совсем понятно, как реализовать его работу и выполнения условия задачи после указания размера стека (Stack st = new Stack(10)) Изначально, в стеке все нули

Решение задачи: «Дан стек размера N. Изменить порядок его элементов на обратный»

textual
Листинг программы
  1. for(i=0; !stk1.IsFull(); i++)
  2. stk1.Push(int.Parse(Console.ReadLine()));

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


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

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

10   голосов , оценка 4.1 из 5

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

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

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