Example #1
0
        public Stack <int> SortDescendingStaIn(out bool sucess)
        {
            List <int> orden = new List <int>();
            int        dato;
            string     temp;

            sucess = false;
            Console.WriteLine("Quieres ordenar el conjunto de la pila de enteros en forma descendente?");
            temp = Console.ReadLine();
            int contador;

            if (temp == "Si" || temp == "si")
            {
                sucess = true;
                if (sucess == true)
                {
                    contador = PilaInt.Count;

                    for (int i = 0; i < contador; i++)
                    {
                        dato = PilaInt.Pop();

                        orden.Add(dato);
                    }

                    orden.Sort();
                    contador = orden.Count;
                    Console.WriteLine("La pila ordenada:");

                    for (int i = contador - 1; i >= 0; i--)
                    {
                        PilaInt.Push(orden[i]);
                        Console.WriteLine(PilaInt.Pop());
                    }

                    for (int i = 0; i < orden.Count; i++)
                    {
                        orden.Remove(i);
                    }
                }
            }
            else if (temp == "No" || temp == "no")
            {
                contador = PilaInt.Count;
                Console.WriteLine("La pila sin ordenar:");
                for (int i = 0; i < contador; i++)
                {
                    Console.WriteLine(PilaInt.Pop());
                }
            }
            else
            {
                Console.WriteLine("Tenias que escribir si o no");
            }

            return(PilaInt);
        }
Example #2
0
        public Stack <int> RemoveEvenStaIn(out bool sucess)
        {
            string temp;

            sucess = false;
            int contador;

            Console.WriteLine("Quieres remover los numeros pares de la pila de enteros?");
            temp = Console.ReadLine();
            int dato;

            if (temp == "Si" || temp == "si")
            {
                sucess = true;
                if (sucess == true)
                {
                    contador = PilaInt.Count;

                    Console.WriteLine("Los numeros que se agregan y se elimnan son:");

                    for (int i = 0; i < contador; i++)
                    {
                        dato = PilaInt.Pop();
                        Console.WriteLine(dato);


                        if ((dato % 2) == 0)
                        {
                            Console.WriteLine("Este se elimina: " + dato);
                        }
                        else
                        {
                            PilaInt.Push(dato);
                            Console.WriteLine("Este se agrega: " + dato);
                        }
                    }
                    Console.WriteLine();
                    contador = PilaInt.Count;
                    Console.WriteLine("La pila tiene " + contador + " numeros");

                    /* for(int i = 0; i < contador;i++)
                     * {
                     *
                     *  Console.WriteLine(PilaInt.Pop());
                     *
                     * }*/
                }
            }
            else if (temp == "No" || temp == "no")
            {
                sucess = true;
                if (sucess == true)
                {
                    contador = PilaInt.Count;
                    Console.WriteLine("La pila sin ordenar:");
                    for (int i = 0; i < contador; i++)
                    {
                        Console.WriteLine(PilaInt.Pop());
                    }
                }
            }
            else
            {
                Console.WriteLine("Tenias que escribir si o no");
            }

            return(PilaInt);
        }