public static string InvertirPalabra(string palabra)
char[] caracteres = palabra.ToCharArray();
Array.Reverse(caracteres);
return new string(caracteres);
public static bool EsPalindroma(string palabra)
string invertida = InvertirPalabra(palabra);
return palabra.Equals(invertida, StringComparison.OrdinalIgnoreCase);
public static string ConvertirMayusculasPar(string texto)
char[] caracteres = texto.ToCharArray();
for (int i = 0; i < caracteres.Length; i++)
caracteres[i] = char.ToUpper(caracteres[i]);
return new string(caracteres);
Console.WriteLine("\n--- Menú de Opciones ---");
Console.WriteLine("1. Invertir palabra");
Console.WriteLine("2. Verificar si es palíndroma");
Console.WriteLine("3. Convertir a mayúsculas en posición par");
Console.WriteLine("4. Salir");
Console.Write("Seleccione una opción: ");
opcion = int.Parse(Console.ReadLine());
Console.Write("Ingrese la palabra: ");
string palabra = Console.ReadLine();
Console.WriteLine("Palabra invertida: " + InvertirPalabra(palabra));
Console.Write("Ingrese la palabra: ");
string palabraPalindroma = Console.ReadLine();
Console.WriteLine("¿Es palíndroma?: " + EsPalindroma(palabraPalindroma));
Console.Write("Ingrese el texto: ");
string texto = Console.ReadLine();
Console.WriteLine("Texto modificado: " + ConvertirMayusculasPar(texto));
Console.WriteLine("Saliendo del programa...");
Console.WriteLine("Opción no válida. Intente de nuevo.");