// Suma de números por pantalla hasta que escriba "FIN" List<int> nums = new List<int>(); int i = 1; string input; Console.WriteLine("Introduce números por pantalla, (para finalizar escribe FIN)"); do { Console.WriteLine($"Número {i++}: "); input = Console.ReadLine(); if (input != "FIN") { int num = Convert.ToInt32(input); nums.Add(num); } } while (input != "FIN"); int suma = nums.Sum(); Console.WriteLine("La suma total es " + suma); // Función para operar dos números con un operador dado static double Opera(int n1, char op, int n2) { switch (op) { case '+': return n1 + n2; case '-': return n1 - n2; case '*': case 'x': // Puedes usar 'x' o '*' para indicar multiplicación return n1 * n2; case '/': return (double)n1 / n2; // Para obtener resultado decimal en la división default: throw new ArgumentException("Operador no válido"); } } // Función para calcular la velocidad en metros por segundo static double velocidad_mps(int metros, int h, int m, int s) { int tiempoTotalSegundos = h * 3600 + m * 60 + s; return (double)metros / tiempoTotalSegundos; } // Función para invertir filas y columnas de una matriz bidimensional static double[,] invertir(double[,] m) { int filas = m.GetLength(0); int columnas = m.GetLength(1); double[,] matrizInvertida = new double[columnas, filas]; for (int i = 0; i < filas; i++) { for (int j = 0; j < columnas; j++) { matrizInvertida[j, i] = m[i, j]; } } return matrizInvertida; } // Función para calcular el porcentaje de números positivos en una matriz bidimensional static double invertirPorcentaje(double[,] numeros) { int totalNumeros = numeros.Length; int positivos = 0; foreach (var numero in numeros) { if (numero >= 0) positivos++; } return (double)positivos / totalNumeros * 100; } // Función para imprimir un triángulo con un nombre dado static void triangulo(string nombre) { for (int i = 0; i < nombre.Length; i++) { Console.WriteLine(nombre.Substring(0, i + 1)); } } // Función para corregir el texto según las especificaciones dadas static string ortografia(string texto) { string[] palabras = texto.ToLower().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < palabras.Length; i++) { if (i == 0 || palabras[i - 1].EndsWith(".")) { palabras[i] = palabras[i].Substring(0, 1).ToUpper() + palabras[i].Substring(1); } } return string.Join(" ", palabras); } // Función auxiliar para imprimir una matriz static void ImprimirMatriz(double[,] matriz) { int filas = matriz.GetLength(0); int columnas = matriz.GetLength(1); for (int i = 0; i < filas; i++) { for (int j = 0; j < columnas; j++) { Console.Write(matriz[i, j] + " "); } Console.WriteLine(); } } // Ejemplo de uso de las funciones Console.WriteLine(Opera(5, '+', 3)); // Suma: 8 Console.WriteLine(velocidad_mps(1000, 1, 30, 0)); // Velocidad: 0.0925925925925926 double[,] matrizOriginal = new double[,] { { 1, 2, 3 }, { 2, 1, 1 }, { 1, 1, 3 } }; double[,] matrizInvertida = invertir(matrizOriginal); ImprimirMatriz(matrizInvertida); Console.WriteLine(invertirPorcentaje(matrizOriginal)); // Porcentaje: 100 triangulo("Juana T."); Console.WriteLine(ortografia("ESTO ES un Ejemplo. DE correcciÓN dE tEXTo.")); // Resultado: Esto es un ejemplo. De corrección de texto.