0% encontró este documento útil (0 votos)
17 vistas5 páginas

Examen Final

El documento presenta varios ejercicios y funciones relacionadas con el procesamiento de números, cadenas y vectores/matrices. Se incluyen funciones para encontrar el mayor/menor dígito de un número, sumar los elementos de un vector, encontrar la palabra más larga/corta en una cadena, y llenar una matriz en forma de serpiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas5 páginas

Examen Final

El documento presenta varios ejercicios y funciones relacionadas con el procesamiento de números, cadenas y vectores/matrices. Se incluyen funciones para encontrar el mayor/menor dígito de un número, sumar los elementos de un vector, encontrar la palabra más larga/corta en una cadena, y llenar una matriz en forma de serpiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1.

Encontrar el mayor de los dígitos de un número y escribirlo en un archivo


Ejemplo. N=>12345 ; => R=5
static int EncontrarMayorDigito(int numero)
{
int mayor = 0;

while (numero > 0)


{
int digito = numero % 10;
mayor = Math.Max(mayor, digito);
numero /= 10;
}

return mayor;
}

a) Encontrar el menor de los dígitos de un número (15 pts.)


Ejemplo: N=> 12345 R=>1

b) Imprimir el producto de todos los dígitos de un número (20 pts.)


Ejemplo: N=> 2234 R=> 48

c) Contar cuantos dígitos repetidos hay (20pts)


Ejemplo: N= 122233344 R= 5
2.- Encontrar la palabra más larga de una oración y escribirla en el
archivo, si hay dos de tamaño similar imprimir el primero que aparezca
Ejemplo N= hola a todos a ver quien viene R= todos

static string CadenaMasLarga(string oracion)


{
string[] palabras = oracion.Split(' ');

//Se crea una cadena inicial de longitud 0


string cadenaMasLarga = "";
foreach (string palabra in palabras)
{
if (palabra.Length > cadenaMasLarga.Length)
{
cadenaMasLarga = palabra;
}
}

return cadenaMasLarga;
}

a) Encontrar la palabra que más corta en una oración (15pts.)


Ejemplo N= hola a todos a ver quien viene R= a

b) Encontrar la palabra que más se vocales en una oración (20 pts.)


Ejemplo N= hola a todos a ver quien viene R= a

c) Encontrar la palabra que más se repite en una oración (25pts.)


Ejemplo N= hola a todos a ver quien viene R= a
3.- Sumar todos los elementos de un vector

Ejemplo: N= {1,2,3,4,5,6} => 21

static void generarVector()


{
try
{
// Leer el vector desde el archivo de entrada
string[] elementosTexto =
File.ReadAllText(archivoEntrada).Split(' ');
int[] vector = new int[elementosTexto.Length];
for (int i = 0; i < elementosTexto.Length; i++)
{
vector[i] = int.Parse(elementosTexto[i]);
}

// Voltear el vector
Array.Reverse(vector);

// Escribir el vector volteado en el archivo de salida


using (StreamWriter writer = new StreamWriter(archivoSalida))
{
writer.Write("D= ");
foreach (int elemento in vector)
{
writer.Write(elemento + " ");
}
writer.Write("; R= ");
foreach (int elemento in vector)
{
writer.Write(elemento + " ");
}
}

Console.WriteLine("Proceso completado. Se ha creado el archivo


de salida.");
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}

static int SumarElementosVector(int[] vector)


{
int suma = 0;

foreach (int elemento in vector)


{
suma += elemento; // Acumulamos la suma de cada elemento del
vector
}

return suma;
}

a) Voltear el vector (usar una matriz auxiliar) e imprimirlo en el


archivo (25 pts.)
Ejemplo: n={1,2,3,4,5} R= {5,4,3,2,1}
b) Eliminar del vector los números pares e imprimirlo en un archivo
(30pts)
Ejemplo: n= 1 2 3 4 7 4 5 4} R= 1 3 7 5
4.- llenar una matriz en forma de serpiente

static int[,] LlenarMatrizSerpiente(int filas, int columnas)


{
int[,] matriz = new int[filas, columnas]; // Crear una matriz
vacía con las dimensiones especificadas

int valor = 1;
for (int fila = 0; fila < filas; fila++)
{
// Determinar la dirección de llenado de la fila (izquierda
a derecha o derecha a izquierda)
bool derecha = fila % 2 == 0;

// Llenar la fila en la dirección determinada


if (derecha)
{
for (int columna = 0; columna < columnas; columna++)
{
matriz[fila, columna] = valor++;
}
}
else
{
for (int columna = columnas - 1; columna >= 0; columna--
)
{
matriz[fila, columna] = valor++;
}
}
}

return matriz;
}

a) Llenar la matriz de estar forma: (30pts)

b) Llenar la matriz de esta forma: (40 pts)

También podría gustarte