Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2017, 21:21   #1
Елена1995
Пользователь
 
Регистрация: 14.04.2014
Сообщений: 10
Восклицание статический стек

Помогите, почему не работает удаление элемента из стека?
Код:
namespace ConsoleApp1
{
    class Stek
    {
        int[] stk;
        int t;
        // int element; 


        public Stek(int size)
        {
            stk = new int[size];
            t = 1;
            Console.WriteLine("создание объект");
        }
        // Добавляем в стек элемент 

        public void setStk()
        {

            // if (t == stk.Length) 
            //{ 
            // Console.WriteLine("Опасность!!! Стек Перегружен!!!"); 
            // return; 
            // } 
            Console.WriteLine("введите элемент");
            if (t == 1)
            {
                Console.ReadLine();
            }
            int Str = 0;
            Str = Convert.ToInt32(Console.ReadLine());
            if ((Str == 0) || (Str == null))
            {
                return;
            }
            stk[t] = Str;//Convert.ToChar(Str);
            t++;
            
        }

        // извлекаем из стека элемент 
        public int getStk()
        {
            //char element; 
            if (t == 0)
            {
                Console.WriteLine("Стек Пуст!!!!");
                // return(char)0;
            }

            // t--;
            return stk[--t];
            // stk[t] = 0;
        }
        // Размер Стека 
        public bool full()
        {
            return t == stk.Length;
        }
        public void vivod()
        {
            Console.WriteLine();
            for (int t = 1; t < stk.GetLength(0); t++)
            {
                Console.WriteLine(stk[t]);
            }
            Console.ReadLine();
        }
        public void vivodyd()
        {
            Console.WriteLine();
            for (int t = 1; t>0; t--)
            {
                Console.WriteLine(stk[t]);
            }
            Console.ReadLine();
        }
    }


    class Program
    {

        static void Main(string[] args)
        {
            int size = 6;
            Stek s = new Stek(size);

            char put;
            //int p; 
            do
            {
                Console.WriteLine("Меню:");
                Console.WriteLine("1. Добавление");
                Console.WriteLine("2. Удаление");
                Console.WriteLine("3. Вывод");
                Console.WriteLine("4. Выход");
                Console.Write("Ввод: ");
                put = (char)Console.Read();
                switch (put)
                {
                    case '1':

                        Console.WriteLine("Добавляем элементы");
                        for (int i = 1; !s.full(); i++)
                            //for (int i = 1; i <= 2; i++)
                            s.setStk();
                       // for (int i = 1; !s.full(); i++) ;
                            break;
                    case '2':
                        //Console.WriteLine("Удаляем элементы");
                        Console.WriteLine("Извлекаем Элементы из Стека!!!!!");
                        //while (!s.full())
                        //for (int i = 1; i >0; i--)
                            s.getStk();
                        Console.WriteLine("Удален элемент");
                        // }
                        break;

                    case '3':
                        s.vivod();
                        break;
                    case '5':
                        s.vivodyd();
                        break;

                    case '6':
                        Console.WriteLine("Выход..");
                        break;
                        //default:
                        // Console.WriteLine("Не верный ввод");
                        // break;

                }
            } while (put != '6');



        }
    }
}

Последний раз редактировалось Аватар; 27.11.2017 в 22:25.
Елена1995 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан стек символов. Преобразовать стек, оставив в нем из группы подряд идущих символов только один - Delphi FunnyNeo Общие вопросы Delphi 0 09.04.2017 11:50
Стек и очередь. Задачи никогда не попадают в стек - Delphi Exxodus Помощь студентам 1 05.04.2016 14:12
Статический стек (си) Iron_f1st Помощь студентам 1 10.03.2014 20:30
статический стек tuyana)) Visual C++ 0 04.04.2011 17:16