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

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

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

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

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

Для решения создан класс Stack
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ПЕРВЫЕ_УЧЕБНЫЕ_КЛАССЫ
{
    class Stack
    {
        byte[] mas;
        int tos;
        int dlina;
 
        bool errflag;
        public Stack(int size)
        {
            mas = new byte[size];
            tos = 0;
        }
        public void Push(byte simb)
        {
            if (tos == mas.Length)
            {
                Console.WriteLine("Стек полон!");
                return;
            }
            mas[tos] = simb;
            tos++;
        }
 
        public ushort Pop()
        {
            if (tos == 0)
            {
                Console.WriteLine("Стек пуст!");
                return (ushort)0;
            }
            tos--;
            return mas[tos];
        }
 
        public bool Full() { return tos == mas.Length; }
        public bool Empty() { return tos == 0; }
        public int Capacity() { return mas.Length; }
        public int Get_num() { return tos; }
 
        public void Show()
        {
            for (int i = mas.Length - 1; i >= 0; i--)
                Console.WriteLine(mas[i]);
            Console.WriteLine();
        }
 
        public void Show(Stack Ob)
        {
            for (int i = mas.Length - 1; i >= 0; i--)
                Console.WriteLine(mas[i]);
            Console.WriteLine();
        }
 
        public Stack(Stack Ob)
        {
            mas = new byte[Ob.Capacity()];
            for (int i = 0; i < Ob.tos; i++)
                mas[i] = Ob.mas[i];
            tos = Ob.tos;
        }
 
        public int Razmer
        {
            get
            {
                return dlina;
            }
        }
        public bool Oshibka
        {
            get
            {
                return errflag;
            }
        }
        private bool Ok(int index)
        {
            if (index >= 0 && index < Razmer) return true;
            else
                return false;
        }
        public byte this[int index]
        {
            get
            {
                if (Ok(index))
                {
                    errflag = false;//Ошибки нет!
                    return mas[index];
                }
                else
                {
                    errflag = true;//Ошибка индекса!
                    return 0;//Без.прог.кода.
                }
            }
            set
            {
                if (Ok(index))
                {
                    errflag = false;
                    mas[index] = value;
                }
                else
                    errflag = true;
            }
        }//Конец класса
 
    }
}
Не совсем понятно, как реализовать его работу и выполнения условия задачи после указания размера стека (Stack st = new Stack(10)) Изначально, в стеке все нули

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

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

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


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

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

10   голосов , оценка 4.1 из 5
Похожие ответы