Exemple #1
0
        static void palindromo()
        {
            Tildes     text = new Tildes();
            PilaLineal pilachar;
            bool       esPalindromo;
            String     palabra, palabra1;

            try
            {
                pilachar = new PilaLineal();
                Console.WriteLine("Teclee una palabra para verificar si es palindromo");
                palabra = Console.ReadLine();

                palabra1 = text.quitarTildes(palabra);
                //elimina los espacios en blanco de la cadena
                //creamos la pilac con los datos char
                for (int i = 0; i < palabra1.Length; i++)
                {
                    char c;
                    c = palabra1[i++];
                    pilachar.insertar(c);
                }

                //comprueba si es palindromo
                esPalindromo = true;
                for (int j = 0; esPalindromo && !pilachar.pilaVacia(); j++)
                {
                    Char c;
                    c            = (Char)pilachar.quitarChar();
                    esPalindromo = (palabra1[j++] == c);
                }
                pilachar.LimpiarPila();
                if (esPalindromo)
                {
                    Console.WriteLine($"La palabra {palabra} es palindromo");
                }
                else
                {
                    Console.WriteLine($"La palabra {palabra} no es palindromo");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
            }
        }
Exemple #2
0
        static void listPalindromo()
        {
            Lista  lista;
            Tildes text = new Tildes();
            bool   palindromo;
            string palabra;

            try
            {
                lista = new Lista();
                string nPalabra;
                Console.WriteLine("Ingresa una palabra para verificar si es palindromo: ");
                palabra = Console.ReadLine().ToLower();

                //se formatea la palabra sin tildes y sin espacios
                nPalabra = text.quitarTildes(palabra);
                //Se crea la lista con caracteres
                for (int i = 0; i < nPalabra.Length; i++)
                {
                    Char c;
                    c = nPalabra[i++];
                    lista.apilar(c);
                }
                //comprueba si es palindromo
                palindromo = true;
                for (int j = 0; palindromo && !lista.Vacio(); j++)
                {
                    Nodo c;
                    c          = (Nodo)lista.Desapilar();
                    palindromo = (nPalabra[j++].Equals(c.getDato()));
                }

                if (palindromo)
                {
                    Console.WriteLine($"{palabra} es palindromo");
                }
                else
                {
                    Console.WriteLine($"{palabra} no es palindromo");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }