public static void Capicua() { //programa capicua bool capicua; string numero; PilaLista pila = new PilaLista(); ColaCircular circula_Cola = new ColaCircular(); try { capicua = false; while (!capicua) { do { Console.WriteLine("\n Teclea un numero: "); numero = Console.ReadLine(); } while (!valido(numero)); //pone en la cola y en la capicua 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($"Numero {numero} no es capicua"); Console.WriteLine("intente otro"); } } } catch (Exception errores) { Console.WriteLine($"Error en {errores.Message} "); } Console.ReadKey(); }
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}"); } }
static void EjemploPilaLista() { PilaLista pl = new PilaLista(); pl.insertar(3); pl.insertar(4); pl.insertar(8); pl.insertar(2); pl.insertar(1); var xx = pl.quitar(); }
private double evaluarPosfija(string posfija) { PilaLista pila = new PilaLista(); for (int i = 0; i < posfija.Length; i++) { char caracter = posfija[i]; if (!operador(caracter)) { double num = double.Parse(caracter.ToString()); pila.insertar(num); } else { double desapilar1 = (double)pila.quitar(); double desapilar2 = (double)pila.quitar(); double desapilar3 = operar(caracter, desapilar1, desapilar2); pila.insertar(desapilar3); } } return((double)pila.cimaPila()); }
public void DesapilaOperando(string operador, PilaLista lista, StringBuilder salida) { int dato = prioridad(operador); string op = (string)lista.quitar(); int dato2 = prioridad(op); while (dato <= dato2) { salida.Append(op + " "); if (lista.lista().Count == 0) { break; } op = (string)lista.quitar(); dato2 = prioridad(op); } if (dato > dato2) { lista.insertar(op); } }
static void EjemploPilaLista() { PilaLista pl = new PilaLista(); pl.insertar(1); pl.insertar(5); pl.insertar(16); pl.insertar(217); pl.insertar(41); pl.insertar(19); var xx = pl.quitar(); // int pau; // pau = 0; }
private void VaciarOperandos(StringBuilder salida, PilaLista operadores) { salida.Append(" "); while (operadores.lista().Count > 0) { string sop = (string)operadores.quitar(); if (sop == "(") { throw new Exception("Error falta parentesis de cierre )"); } salida.Append(sop + " "); } }
static void LIFOExample() { PilaLista pl = new PilaLista(); pl.insertar(1); pl.insertar(5); pl.insertar(16); pl.insertar(217); pl.insertar(41); pl.insertar(19); var xx = pl.quitar(); int pau; pau = 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}"); } }
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} "); } }