コード例 #1
0
        static void capicuaPilaListayColaCircular()
        {
            bool   capicua;
            string numero;

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

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\nTeclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //pone en la cola y en la pila cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        pila.insertar(c);
                    }

                    //se retira de la cola y pila para comparar
                    do
                    {
                        Char d;
                        d       = (Char)circula_Cola.quitar();
                        capicua = d.Equals(pila.quitar()); //compara la igualdad
                    } while (capicua && !circula_Cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"njmero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }

                    // vaciar estructuras

                    circula_Cola.borrarCola();
                    pila.limpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message}");
            }
        }
コード例 #2
0
        public static void programa1()
        {
            bool         capicua;
            string       numero;
            PilaLista    Pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\nTeclea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //PONE EN LA COLA Y EN LA PILA CADA DIGITO
                    for (int i = 0; 0 < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        Pila.insertar(c);
                    }

                    //SE RETIRA DE LA COLA Y PILA PARA COMPARAR
                    do
                    {
                        Char d;
                        d       = (Char)circula_Cola.quitar();
                        capicua = d.Equals(Pila.quitar());
                    } while (capicua && !circula_Cola.colaVacia());

                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"njmero {numero} no es capicua");
                        Console.WriteLine("intente otro");
                    }
                    // vaciar estructuras

                    circula_Cola.borrarcola();
                    Pila.limpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Error en {errores.Message}");
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: kerinson21/tarea_clase10
        public static void esCapicula_UMG()
        {
            //programa capicua

            bool         capicua;
            string       numero;
            Ejercicios   ejercicios   = new Ejercicios();
            PilaLista    pila         = new PilaLista();
            ColaCircular colaCircular = new ColaCircular();

            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("\nTeclee un numero: ");
                        numero = Console.ReadLine();
                    } while (!ejercicios.valido(numero));
                    //pone en la cola y en la pila cada digito
                    for (int i = 0; i < numero.Length; i++)
                    {
                        char c;
                        c = numero[i];
                        colaCircular.insertar(c);
                        pila.insertar(c);
                    }
                    //se retira de la cola y pila para comparar
                    do
                    {
                        char d;
                        d       = (char)colaCircular.quitar();
                        capicua = d.Equals(pila.quitar());
                    } while (capicua && !colaCircular.colaVacia());
                    if (capicua)
                    {
                        Console.WriteLine($"Numero {numero} es capicua");
                    }
                    else
                    {
                        Console.WriteLine($"Numero {numero} no es capicua");
                        Console.WriteLine("Intente otro");
                    }
                    //vaciar estructuras
                    colaCircular.borrarCola();
                    pila.limpiarPila();
                }
            }
            catch (Exception errores)
            {
                Console.WriteLine($"Eror en {errores.Message}");
            }
        }
コード例 #4
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}");
            }
        }
コード例 #5
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}");
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: Frank14174/Tarea-10-
        static void capicua()
        {
            Queue qt = new Queue();
            //qt.Enqueue("hola");
            //qt.Enqueue("esto");
            //qt.Enqueue("es");
            //qt.Enqueue("una");
            //qt.Enqueue("prueba");

            //Console.WriteLine($"La cola tiene {qt.Count} elementos");
            //Console.WriteLine($"Desencolando {qt.Dequeue()}");

            //programa capicua
            bool         capicua;
            string       numero;
            PilaLista    pila         = new PilaLista();
            ColaCircular circula_Cola = new ColaCircular();



            try
            {
                capicua = false;
                while (!capicua)
                {
                    do
                    {
                        Console.WriteLine("Tecleea un numero: ");
                        numero = Console.ReadLine();
                    } while (!valido(numero));

                    //pone en la cola y en la pila cada digito

                    for (int i = 0; i < numero.Length; i++)
                    {
                        Char c;
                        c = numero[i];
                        circula_Cola.insertar(c);
                        pila.insertar(c);
                    }

                    //se retira de la cola y de la pila comparar
                    do
                    {
                        Char d;
                        d       = (Char)circula_Cola.quitar();
                        capicua = d.Equals(pila.quitar());
                    } while (capicua && !circula_Cola.colaVacia());
                    if (capicua)
                    {
                        Console.WriteLine($"Numero{numero} es Capicua");
                    }
                    else
                    {
                        Console.WriteLine($"El numero {numero} no es capicua");

                        Console.WriteLine("Ingrese otro numero: ");
                    }
                    //vaciar estructuras

                    circula_Cola.borrarCola();
                    pila.limpiarPila();
                }
            }
            catch (Exception error)
            {
                Console.WriteLine($"Error en {error.Message} ");
            }
        }