Example #1
0
 static void Main()
 {
     Stack stack = new Stack();
     stack.Push(1);
     stack.Push(2);
     stack.Push(3);
     stack.Pop();
     Console.WriteLine(stack.Count+ " " + stack.Contains(1));
     stack.PrintStack();
     Console.WriteLine("Top element:"+stack.Peek());
     Console.WriteLine("**************************");
     Stack<int> stack1 = new Stack<int>();
     stack1.Push(1);
     stack1.Push(2);
     stack1.Push(3);
     stack1.Pop();
     Console.WriteLine(stack1.Count + " " + stack1.Contains(1));
     foreach (int i in stack1)
     {
         Console.WriteLine(i);
     }
     Console.WriteLine("Top element:"+stack1.Peek());
 }
Example #2
0
        static void Main(string[] args)
        {
            int count; //явились 1000 царевичей. Принцев по условию задаём с консоли
            int C;

            C = 1;
            for (int j = 0; C != 0; j++)
            {
                Console.BufferHeight = 1000;      // буфера консоли увеличен на 1000
                Stack  pretenders = new Stack();  //создан стек
                Random r          = new Random(); //инициализация счётчика случайных чисел
                Console.WriteLine("Введите количество принцев");
                count = Convert.ToInt32(Console.ReadLine());
                int prince;
                for (int i = 0; i < count; i++)
                {
rand:
                    prince = r.Next(1, count + 1);
                    if (!pretenders.Contains(prince))
                    {
                        pretenders.Push(prince);
                    }
                    else
                    {
                        goto rand;
                    }
                }//стек заполнен СЛУЧАЙНО значениями оценок принцев:
                int max = 0;
                int test;
                int testCount = Convert.ToInt32(count / 2.718); //принцы в тестовой группе, количество делим на e
                Console.WriteLine("Всего соискателей" + count + ", Из них в тестовой группе: " + testCount);
                for (int i = 0; i < testCount; i++)             //Проверка лучшего в тестовой группе
                {
                    test = (int)pretenders.Pop();
                    Console.Write((i + 1) + ". Оценка: " + test + "решение принцесы");
                    if (test > max)
                    {
                        max = test;
                        Console.Write(" Мммм, Хорошенький, но у меня есть ещё кандидаты");
                    }

                    else
                    {
                        Console.Write(" Не по масти, идём дальше");
                    }
                    Console.WriteLine();
                }
                for (int i = 0; i < count - testCount; i++) //Вторая группа
                {
                    test = (int)pretenders.Pop();
                    Console.Write((i + testCount + 1) + ". Оценка: " + test);
                    if (test > max)//Поиск лучшего, чем последний хорошенький
                    {
                        Console.Write(" Всё, выбор сделан!!!");
                        break;
                    }
                    else if (pretenders.Count == 0) //Последний принц, куда деваться!?
                    {
                        Console.Write(" Так и быть, пускай будет хоть хромой, хоть косой");
                    }
                    else
                    {
                        Console.Write(" Не по масти");
                    }
                    Console.WriteLine();
                }
                Console.WriteLine();
                Console.WriteLine("Продолжаем? Да-1,Нет-0");
                C = Convert.ToInt32(Console.ReadLine());
            }
        }