Example #1
0
        static void Capicua_original()
        {
            bool   capicua;
            String numero;

            PilaLista    pila          = new PilaLista();
            ColaCircular circular_cola = new ColaCircular();

            try
            {
                capicua = false;

                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("Teclea un nĂºmero");
                        numero = Console.ReadLine();
                    } while (!validar(numero));

                    //Pone en la cola y en la pila cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        char c;
                        c = numero[i];
                        circular_cola.insertar(c);
                        pila.insertarPila(c);
                    }

                    //Desencolar, se retira la cola y pila para comparar
                    do
                    {
                        char d;
                        d       = (Char)circular_cola.quitar();
                        capicua = d.Equals(pila.quitar());//Compara la igualdad
                    } while (capicua && !circular_cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"El numero {numero} no es capicua");
                        Console.WriteLine("Intente otro :)");
                    }

                    circular_cola.borrarCola();
                    pila.LimpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en{errores.Message} ");
            }
        }