Exemple #1
0
        static void NumbersList()
        {
            PilaLista PilaL;
            int       x;
            int       CLAVE = -1;

            Console.WriteLine("Ingrese numeros, y para terminar -1");
            try
            {
                PilaL = new PilaLista();
                do
                {
                    x = Convert.ToInt32(Console.ReadLine());
                    if (x != -1)
                    {
                        PilaL.insertar(x);
                    }
                } while (x != CLAVE);

                Console.WriteLine("ESTOS SON LOS ELEMENTOS DE LA PILA:");


                while (!PilaL.pilaVacia())
                {
                    x = (int)(PilaL.quitar());
                    Console.WriteLine($"elemento:{x}");
                }
            }
            catch (Exception error)
            {
                Console.WriteLine("Error= " + error.Message);
            }
        }
Exemple #2
0
        private string convertir(string infija)
        {
            String    posfija = "";
            PilaLista pila    = new PilaLista();

            for (int i = 0; i < infija.Length; i++)
            {
                //obtengo el caracter
                char caracter = infija[i];
                if (operador(caracter))
                {
                    if (pila.pilaVacia())
                    {
                        pila.insertar(caracter);
                    }
                    else
                    {
                        //evuluamos la prioridad
                        if (prieoridadExpresion(caracter) > prieoridadPila((char)pila.cimaPila()))
                        {
                            pila.insertar(caracter);
                        }
                        else
                        {
                            //desapilar
                            posfija += pila.quitar();
                            //apilamos el nuevo operador
                            pila.insertar(caracter);
                        }
                    }
                }
                else
                {
                    posfija += caracter;
                }
            }
            //sacamos todo lo de la pila
            while (!pila.pilaVacia())
            {
                //desapilamos y guardamos todos los datos de la pila en la posfija
                posfija += pila.quitar();
            }
            return(posfija);
        }
Exemple #3
0
        static void PalindromeStack()
        {
            PilaLista pilaLs;
            bool      esPalindromo;
            String    pal;

            try
            {
                pilaLs = new PilaLista();
                Console.WriteLine("Teclee una palabra para ver si es ");
                pal = Console.ReadLine();

                string remplazada      = Regex.Replace(pal, @"\s", "");
                string convertida      = remplazada.ToLower();
                string textoSinAcentos = DeleteSpecialCharacters(convertida);

                //creamos la pila con los chars
                for (int i = 0; i < textoSinAcentos.Length;)
                {
                    Char c;
                    c = textoSinAcentos[i++];
                    pilaLs.insertar(c);
                }

                //comprueva si es palindromo
                esPalindromo = true;
                for (int j = 0; esPalindromo && !pilaLs.pilaVacia();)
                {
                    Char c;
                    c            = (Char)pilaLs.quitar();
                    esPalindromo = textoSinAcentos[j++] == c;//evalua si la posicion es igual o no es igual
                }
                pilaLs.limpiarPila();
                if (esPalindromo)
                {
                    Console.WriteLine($"La palabra {pal} es palindromo");
                }
                else
                {
                    Console.WriteLine($"Nel, no es ");
                }
            }
            catch (Exception error)
            {
                Console.WriteLine($"ups error {error.Message}");
            }
        }
Exemple #4
0
        public void polindromoLista()
        {
            PilaLista pilaChar;
            bool      esPalindromo;
            String    pal;

            try
            {
                pilaChar = new PilaLista();
                Console.WriteLine("Teclee una palabra");
                pal = Console.ReadLine();
                //creamos la pila con los char
                foreach (var letra in pal)
                {
                    Char c;
                    c = letra;
                    pilaChar.insertar(c);
                }

                //comprueba si es palindromo
                esPalindromo = true;
                for (int i = 0; esPalindromo && !pilaChar.pilaVacia();)
                {
                    Char c;
                    c            = (Char)pilaChar.quitarChar();
                    esPalindromo = pal[i++] == c; // evalua si la sigueinte letra es igual
                }
                pilaChar.limpiarPila();
                if (esPalindromo)
                {
                    Console.WriteLine($"La palabra es palindromo");
                }
                else
                {
                    Console.WriteLine($"La palabra no es un palindromo");
                }
            }
            catch (Exception error)
            {
                Console.WriteLine($"ups error {error.Message}");
            }
        }