public static void CapicuaStack() { bool capicua; string numero; //mandando a llamar la clase de pila lineal para usar stack PilaLineal pila = new PilaLineal(); 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++) { //se cambio el tipo de dato char a int int c; c = numero[i]; circula_Cola.insertar(c); pila.insertar(c); } //se retira de la cola y pila para comparar do { //igual que aca se cambio char por int int d; d = (int)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(); }
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}"); } }
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} "); } }
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}"); } }
public static void CapicuaQueue() { bool capicua; string numero; 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); //se esta insertando el numero en la cola qt.Enqueue(c); } //se retira de la cola y pila para comparar do { Char d; //se esta retirando de la cola d = (char)qt.Dequeue(); capicua = d.Equals(qt.Dequeue()); //compara la igualdad } while (capicua && !IsEmpty()); //se evalua capicua y la diferencia con el metodo para el contador vacio 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}"); } }
public static void CapicuaQueue() { 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); qt.Enqueue(c); //pila.insertar(c); } //se retira de la cola y pila para comparar do { Char d; d = (char)qt.Dequeue(); //d = (Char)circula_Cola.quitar(); //capicua = d.Equals(pila.quitar()); capicua = d.Equals(qt.Dequeue()); //compara la igualdad } while (capicua && !IsEmpty()); /*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(); }
//ColaCircular static void opc44() { Console.BackgroundColor = ConsoleColor.Red; var punteo = 0; var velocidad = 100; //modificar estos valores y ver qué pasa var posiciónComida = Point.Empty; var tamañoPantalla = new Size(60, 20); var culebrita = new ColaCircular(); var longitudCulebra = 5; //modificar estos valores y ver qué pasa var posiciónActual = new Point(0, 9); //modificar estos valores y ver qué pasa culebrita.insertar(posiciónActual); var dirección = Direction.Arriba; //modificar estos valores y ver qué pasa DibujaPantalla(tamañoPantalla); MuestraPunteo(punteo); while (MoverLaCulebritaColaCircular(culebrita, posiciónActual, longitudCulebra, tamañoPantalla)) { Thread.Sleep(velocidad); dirección = ObtieneDireccion(dirección); posiciónActual = ObtieneSiguienteDireccion(dirección, posiciónActual); if (posiciónActual.Equals(posiciónComida)) { posiciónComida = Point.Empty; longitudCulebra += 3; //modificar estos valores y ver qué pasa punteo += 5; //modificar estos valores y ver qué pasa MuestraPunteo(punteo); velocidad -= 5; } if (posiciónComida == Point.Empty) //entender qué hace esta linea { posiciónComida = MostrarComidaColaCircular(tamañoPantalla, culebrita); } } Console.ResetColor(); Console.SetCursorPosition(tamañoPantalla.Width / 2 - 4, tamañoPantalla.Height / 2); Console.Beep(659, 125); Console.Write("Fin del Juego"); Console.Beep(650, 2); Thread.Sleep(2000); Console.ReadKey(); }
private bool MoverLaCulebrita(ColaCircular culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.finalCola(); if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.choque(posiciónObjetivo)) { return(false); } if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width || posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height) { return(false); } Console.BackgroundColor = ConsoleColor.Green; Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1); Console.WriteLine(" "); culebra.insertar(posiciónObjetivo); Console.BackgroundColor = ConsoleColor.Red; Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1); Console.Write(" "); // Quitar cola if (culebra.numerodeelementos() > longitudCulebra) { var removePoint = (Point)culebra.quitar(); Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }
private static bool MoverLaCulebritaColaCircular(ColaCircular culebra, Point posiciónObjetivo, int longitudCulebra, Size screenSize) { var lastPoint = (Point)culebra.FinaColaCircular();// if (lastPoint.Equals(posiciónObjetivo)) { return(true); } if (culebra.ToString().Any(x => x.Equals(posiciónObjetivo))) { return(false); // } if (posiciónObjetivo.X < 0 || posiciónObjetivo.X >= screenSize.Width || posiciónObjetivo.Y < 0 || posiciónObjetivo.Y >= screenSize.Height) { return(false); } Console.BackgroundColor = ConsoleColor.Green; Console.SetCursorPosition(lastPoint.X + 1, lastPoint.Y + 1); Console.WriteLine(" "); culebra.insertar(posiciónObjetivo); Console.BackgroundColor = ConsoleColor.Red; Console.SetCursorPosition(posiciónObjetivo.X + 1, posiciónObjetivo.Y + 1); Console.Write(" "); // Quitar cola if (culebra.tamaño() > longitudCulebra) // { var removePoint = (Point)culebra.quitar(); // Console.BackgroundColor = ConsoleColor.Black; Console.SetCursorPosition(removePoint.X + 1, removePoint.Y + 1); Console.Write(" "); } return(true); }
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} "); } }