Дан стек размера N. Изменить порядок его элементов на обратный - C#
Формулировка задачи:
Доброго вечера!
Помогите, пожалуйста, с задачей:
Не совсем понятно, как реализовать его работу и выполнения условия задачи после указания размера стека (Stack st = new Stack(10))
Изначально, в стеке все нули
Дан стек размера 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;
- }
- }//Конец класса
- }
- }
Решение задачи: «Дан стек размера N. Изменить порядок его элементов на обратный»
textual
Листинг программы
- for(i=0; !stk1.IsFull(); i++)
- stk1.Push(int.Parse(Console.ReadLine()));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д