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 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 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
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}"); } }
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}"); } }
//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); } }