private Error err; //Clase error //Evalua la expesión public double evaluar(string cadenaExp) { err = new Error(); double resultado; cima = 0; try {//Quito los espacios en blanco exp = Regex.Replace(cadenaExp, @"\s", ""); pilaChar = new PilaLineal(); int i = 0; //inserto a la lista enlazada por medio de {PilaLineal} do { Char c; c = exp[i++]; pilaChar.insertar(c); } while (i <= exp.Length - 1); GetToken(); // analiza y evalua la expresion resultado = evaluaSumaResta(); } catch (System.Exception err) { throw new System.Exception("La pila esta vacia, no se puede sacar" + err.Message); } return(resultado); }
static void ejemploPilaLineal() { PilaLineal pila; int x; int CLAVE = -1; Console.WriteLine("Ingrese numeros y para terminar -1"); try { pila = new PilaLineal(); do { x = Convert.ToInt32(Console.ReadLine()); if (x != -1) { pila.insertar(x); } } while (x != CLAVE); Console.WriteLine("estos son los elementos de la pila"); while (!pila.pilaVacia()) { x = (int)(pila.quitar()); Console.WriteLine($"Elemento: {x}"); } } catch (Exception e) { Console.WriteLine("Error " + e); } }
//Homework 9 static void LinealQueueExample() { PilaLineal pila = new PilaLineal(); int x; int Clave = -1; Console.WriteLine("Ingrese un numero y para terminar -1"); try { do { x = Convert.ToInt32(Console.ReadLine()); pila.insertar(x); } while (x != Clave); Console.WriteLine("Estos son los elementos"); while (!pila.pilaVacia()) { x = (int)(pila.quitar()); Console.WriteLine($"elemento:{x}"); } } catch (Exception error) { Console.WriteLine("Error = " + error.Message); } Console.ReadLine(); }
static void ejemploPilaLineal() { PilaLineal pila; int x; int clave = -1; Console.WriteLine("Ingrese numeros y para terminar -1"); try { pila = new PilaLineal(); do { x = Convert.ToInt32(Console.ReadLine()); if (x != -1) { pila.insertar(x); } } while (x != clave); Console.WriteLine("Estos son los elementos de la Pila"); //para desapilar while (!pila.pilaVacia()) { x = (int)(pila.quitar()); Console.WriteLine($"elemento:{x}"); } } catch (Exception error) { Console.WriteLine("Error= " + error.Message); } }
static void palindromo() { PilaLineal pilaChar; bool esPalindromo; String pal; PilaListaSimple listaEnla = new PilaListaSimple(); try { pilaChar = new PilaLineal(); Console.WriteLine("Teclee una palabra para ver si es "); pal = Console.ReadLine(); //PARTE MODIFICADA string remplazada = Regex.Replace(pal, @"\s", ""); string convertida = remplazada.ToLower(); Regex reg = new Regex("[^a-zA-Z0-9]"); string textoNormalizado = convertida.Normalize(NormalizationForm.FormD); string textoSA = reg.Replace(textoNormalizado, "");// texto sin acento // //creamos la pila con los chars for (int i = 0; i < textoSA.Length;) { Char c; c = textoSA[i++]; listaEnla.Agregar(c); } Console.WriteLine("ORDEN INVERSO: "); listaEnla.inverso(); //comprueba si es palindromo esPalindromo = true; int pausa; pausa = 0; for (int j = 0; esPalindromo && !listaEnla.ListaVacia();) { Char c; c = (Char)listaEnla.eliminarPal(); esPalindromo = textoSA[j++] == c; //evalua si la pos es igual } listaEnla.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}"); } }
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 palindromo() { PilaLineal pilaChar; bool esPalindromo; String pal; PilaListaSimple listaEnla = new PilaListaSimple(); try { pilaChar = new PilaLineal(); Console.WriteLine("Teclee una palabra para ver si es "); pal = Console.ReadLine(); //creamos la pila con los chars string reemplazada = System.Text.RegularExpressions.Regex.Replace(pal, @"\s", ""); string convertida = reemplazada.ToLower(); Regex reg = new Regex("[^a-zA-Z0-9]");//método string textonoramlizado = convertida.Normalize(NormalizationForm.FormD); string textoSA = reg.Replace(textonoramlizado, ""); for (int i = 0; i < textoSA.Length;) { Char c; c = textoSA[i++];//textoSA variable que evaluara si es polindromo o no listaEnla.insertar(c); //pilaChar.IsWhiteSpace(c); } //comprueba si es palindromo esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { Char c; c = (Char)pilaChar.quitarChar(); esPalindromo = pal[j++] == c; //evalua si la pos es igual } pilaChar.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 palindromo() { PilaLineal pilaChar; bool esPalindromo; String pal; string espacio = ""; try { pilaChar = new PilaLineal(); Console.WriteLine("\tTeclee una palabra para ver si es PALINDROMO "); pal = Console.ReadLine(); pal.ToLower(); int len = pal.Length; for (int i = 0; i <= len - 1; i++) { if (pal[i] != ' ') { espacio = espacio.ToLower() + pal.ToLower()[i]; espacio = Regex.Replace(espacio.Normalize(NormalizationForm.FormD), @"[^a-zA-z0-9 ]+", ""); } } //creamos la pila con los chars for (int i = 0; i < espacio.Length;) { Char c; c = espacio[i++]; pilaChar.insertar(c); } //comprueba si es palindromo esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { Char c; c = (Char)pilaChar.quitarChar(); esPalindromo = espacio[j++] == c; //evalua si la pos es igual } pilaChar.limpiarPila(); if (esPalindromo) { Console.WriteLine($"La palabra {espacio} es palindromo"); } else { Console.WriteLine($"Nel, no es PALINDROMO"); } } catch (Exception error) { Console.WriteLine($"ups error {error.Message}"); } }
static void palindrome_Queue() { PilaLineal pilaChar; bool esPalindromo; string pal; try { pilaChar = new PilaLineal(); Console.WriteLine("Teclee una palabra para ver si es"); pal = Console.ReadLine(); pal = pal.ToLower().Replace(" ", String.Empty); //Elimina los espacios Console.WriteLine("Sin espacios: " + pal); //aca se eliminan las tildes pal = DeleteSpecialCharacters(pal); Console.WriteLine("Sin Tildes: " + pal);//Eliminamos Tildes //creamos la pila con los chars for (int i = 0; i < pal.Length;) { char c; c = pal[i++]; pilaChar.insertar(c); } //Comprueba si es palindrome esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { char c; c = (char)pilaChar.quitarChar(); esPalindromo = pal[j++] == c; //Evalua igualdad } pilaChar.limpiarPila(); if (esPalindromo) { Console.WriteLine("La palabra es palindromo"); } else { Console.WriteLine($"Nel, no es"); } } catch (Exception error) { Console.WriteLine($"upss error {error.Message}"); } }
//PALINDROMO //PILA LINEAL // eliminamos caracteres especiales //pasa quitar las tildes static void palindromo() { PilaLineal pilaChar; bool esPalindromo; string pal; try { pilaChar = new PilaLineal(); Console.WriteLine("Ingrese una palabra para someterla a evaluacion"); pal = Console.ReadLine(); pal = pal.ToLower().Replace(" ", String.Empty); //permite eliminar todos los espacios entre las palabras Console.WriteLine("Sin espacios: " + pal); //aca se eliminan las tildes pal = eliminarCaracteresEspeciales(pal); Console.WriteLine("Sin Tildes: " + pal);//muestra resuldado sin tildes //creamos la pila chars for (int i = 0; i < pal.Length;) { char c; c = pal[i++]; pilaChar.insertar(c); } //verifica si es palindromo o no esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { char c; c = (char)pilaChar.quitarChar(); esPalindromo = pal[j++] == c; //Evalua igualdad } pilaChar.limpiarPila(); if (esPalindromo) { Console.WriteLine("La palabra es palindromo"); } else { Console.WriteLine("La palabra no es palindromo"); } } catch (Exception error) { Console.WriteLine($"tenemos error {error.Message}"); } }//1
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); } }
static void Palindrome_LinkList() { PilaLineal pilaChar; bool esPalindromo; String pal; try { pilaChar = new PilaLineal(); Console.WriteLine("Teclee una palabra para ser ver si es palíndromo: "); pal = Console.ReadLine(); string sinTilde = DeleteSpecialCharacters(pal); sinTilde = sinTilde.Replace(" ", "").ToLower(); Console.WriteLine("Nueva cadena de texto sin espacios : " + sinTilde); for (int i = 0; i < sinTilde.Length;) { //Insertamos el caracter, agarrando letra por letra char c; c = sinTilde[i++]; pilaChar.insertar(c); } esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { char c; //Extraer uno a uno c = (char)pilaChar.quitarChar(); //Console.WriteLine("Valor c: " + c); esPalindromo = sinTilde[j++] == c; //Evalúa si la pos es igual } if (esPalindromo) { Console.WriteLine($"La palabra {sinTilde} es palindromo"); } else { Console.WriteLine($"NEl no ees"); } } catch (Exception error) { Console.WriteLine($"error{error.Message}"); } }
public void palindromo() { PilaLineal pilaChar; bool esPalindromo; try { pilaChar = new PilaLineal(); Console.WriteLine("Teclee una palabra: "); String pal = ""; //Quito los espacios y las letras con tilde pal = Regex.Replace(Console.ReadLine().Normalize(NormalizationForm.FormD), @"[^a-zA-z0-9]+", "") + Regex.Replace(pal, @"\s", "").ToLower(); for (int i = 0; i < pal.Length;) { Char c; c = pal[i++]; if (c != ' ') { pilaChar.insertar(c); } } esPalindromo = true; for (int j = pal.Length - 1; esPalindromo && !pilaChar.pilaVacia();) { char c; c = (char)pilaChar.quitarChar(); esPalindromo = pal[j--] == c; } pilaChar.limpiarPila(); if (esPalindromo) { Console.WriteLine($"la palabra {pal} es palindromo"); } else { Console.WriteLine("Nel no es"); } } catch (Exception error) { Console.WriteLine($"Upss error {error.Message}"); } }
public void polindromoArray() { PilaLineal pilaChar; bool esPalindromo; String pal; try { pilaChar = new PilaLineal(); 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}"); } }
static void pilindromo() { PilaLineal pilaChar; bool esPalindromo; String pal; try { pilaChar = new PilaLineal(); Console.WriteLine("Teclee una palabra para ver si es "); pal = Console.ReadLine(); //creamos la pila con los chars for (int i = 0; i < pal.Length;) { Char c; c = pal[i++]; pilaChar.insertar(c); } //comprueba si es palindromo esPalindromo = true; for (int j = 0; esPalindromo && !pilaChar.pilaVacia();) { Char c; c = (Char)pilaChar.quitarChar(); esPalindromo = pal[j++] == c; //evalua si la pos es igual } pilaChar.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 listaInversa() { int dato; String datos = ""; PilaLineal pila; int CLAVE = -1; Console.WriteLine("****|Ingrese numeros, y para terminar -1: \n"); try { pila = new PilaLineal(); do { dato = Convert.ToInt32(Console.ReadLine()); if (dato != CLAVE) { pila.insertar(dato); } } while (dato != CLAVE); Console.WriteLine("****|Estos son los elementos de la pila a la inversa: \n"); while (!pila.pilaVacia()) { datos += pila.quitar() + ","; } int i = datos.Split(",").Length - 2; do { String c; c = datos.Split(",")[i--]; if (c != " ") { Console.WriteLine($"****|Elemento: {c}"); } } while (i >= 0); } catch (Exception err) { Console.WriteLine($"Error = {err.Message}"); } }
static void ejemploPilaLineal() { PilaLineal pila; int x; int clave = -1; Console.WriteLine("Ingrese numeros, y para terminar -1"); try { pila = new PilaLineal(); do { x = Convert.ToInt32(Console.ReadLine()); if (x != -1) { pila.insertar(x); } } while (x != clave); } catch (Exception error) { Console.WriteLine("Error = " + error.Message); } }
//TAREA De EXPRESIONES public static void ejercicioExpresiones() { PilaLineal pilaExp; String cadena; Boolean eval; try { pilaExp = new PilaLineal(); Console.WriteLine("Ingresa su expresion"); cadena = Console.ReadLine(); for (int i = 0; i < cadena.Length;) { Char c; c = cadena[i]; eval = true; if (cadena[i] == '(' || cadena[i] == '[' || cadena[i] == '{') { pilaExp.insertar(cadena[i]); } else { if (cadena[i] == ')') { c = (Char)pilaExp.quitarChar(); if (c != '(') { eval = false; } } else { if (cadena[i] == ']') { c = (Char)pilaExp.quitarChar(); if (c != '[') { eval = false; } } else { if (cadena[i] == '}') { c = (Char)pilaExp.quitarChar(); if (c != '{') { eval = false; } } } } } } eval = true; for (int j = 0; eval && !pilaExp.pilaVacia();) { Char c; c = (Char)pilaExp.quitarChar();; eval = cadena[j++] == c; } pilaExp.limpiarPila(); if (eval) { Console.WriteLine("Espresion correcta :)" + cadena); } else { Console.WriteLine("Expresion Incorrecta :("); } } catch (Exception error) { Console.WriteLine("Error = " + error); } }