Índice

Índice

Ejercicios Unidad 8

Descargar estos ejercicios

Antes de empezar

Para realizar estos ejercicios, deberás descargar los recursos del enlace de proyecto_arrays. Como puedes ver, la solución está compuesta de varios proyectos. Cada uno de ellos corresponde con un ejercicio, deberás implementar todo el código, tanto de la Main como de los métodos que se piden en cada ejercicio. Cada proyecto contiene el test correspondiente, que deberás pasar para comprobar que has hecho el ejercicio correctamente.

Ejercicio 1. Tabla dentada cuadrada con patrón alternado

Crea un programa en el proyecto ejercicio1 que cree una array de arrays con 10 tablas de 10 elementos cada una. Rellena el array usando bucles, de forma que las filas pares se rellenen con unos y las impares con ceros.

Ejercicio 1: Tabla dentada cuadrada con patrón 

Array 10x10 generado:
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0

Presiona cualquier tecla para salir...

Requisitos:

Ejercicio 2. Diagonal en tabla de tablas

Crea un programa en el proyecto ejercicio2 que cree una tabla dentada de 5 tablas con 5 columnas cada una. Inicializa el array, usando bucles, de forma que los componentes pertenecientes a la diagonal del array tomen valor uno, y el resto valor cero.

Ejercicio 2: Diagonal en tabla de tablas

Array identidad 5x5:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1

Presiona cualquier tecla para salir...

Requisitos:

Ejercicio 3. Transposición de arrays

Programa en el proyecto ejercicio3 una tablas dentada que contenga tres tablas con 5 columnas cada una. Posteriormente se deberá crear otra tabla dentada permutando filas por columnas (transposición).

Ejercicio 3: Transposición de arrays

Introduce los elementos del array 3x5:
Fila 0, Columna 0: -1
Fila 0, Columna 1: 2
Fila 0, Columna 2: 1
Fila 0, Columna 3: 4
Fila 0, Columna 4: 7
Fila 1, Columna 0: -3
Fila 1, Columna 1: 3
Fila 1, Columna 2: 5
Fila 1, Columna 3: 8
Fila 1, Columna 4: 9
Fila 2, Columna 0: 6
Fila 2, Columna 1: 0
Fila 2, Columna 2: -2
Fila 2, Columna 3: 1
Fila 2, Columna 4: 3

Array original (3x5):
-1  2  1  4  7
-3  3  5  8  9
 6  0 -2  1  3

Array transpuesto (5x3):
-1 -3  6
 2  3  0
 1  5 -2
 4  8  1
 7  9  3
 
Presiona cualquier tecla para salir...

Requisitos:

Pista

Aunque en el ejemplo y durante el enunciado se habla de 3 filas y 5 columnas, el código debe ser genérico y funcionar para cualquier tamaño de array dentado inclusive cuadrados. Solo se indicará en el Main los tamaños 3 y 5 al llamar a LeeArray y el resto del código debe funcionar para cualquier tamaño.

Ejercicio 4. Jardín de flores con inventario colorido

Crea el código necesario en el proyecto ejercicio4 que gestione un jardín representado por una tabla dentada donde cada fila es un arriate con flores de distintos colores. El programa mostrará las flores con colores en consola y generará un inventario completo.

Ejercicio 4: Jardín de flores con inventario colorido

1 3 2 1
4 4 2
2 1 3 3 5
3 2

Color 1: 3 flores
Color 2: 4 flores
Color 3: 4 flores
Color 4: 2 flores
Color 5: 1 flores

Arriate más diverso: Arriate 3 con 4 colores distintos.

Presiona cualquier tecla para salir...

Requisitos:

Ejercicio 5. Panadería: pedidos semanales por tipo de harina

En el proyecto se debe crear un programa que registre los pedidos semanales de harina realizados por una panadería.

Tendrá un array con los tipos de harina disponibles y una tabla dentada que guardará, para cada día de la semana (lunes a domingo), los pedidos realizados ese día en cantidad por tipo de harina (tupla de string y int). Como cada día no tiene por qué pedirse todas las harinas, la estructura será irregular (jagged): cada fila representa un día y contiene las cantidades pedidas de tipos de harinas que se solicitaron ese día.

Ejemplo de tipos de harina:

string[] harinas = new string[] { "Trigo", "Centeno", "Espelta", "Maíz" };
Ejercicio 5. Panadería: pedidos semanales por tipo de harina

-- Pedidos del Lunes --
Introduce la cantidad pedida en KG, de:
Trigo: 0
Centeno: 10
Espelta: 2
Maíz: 5
-- Pedidos del Martes --
Introduce la cantidad pedida en KG, de:
Trigo: 4
Centeno: 10
Espelta: 0
Maíz: 0
...
Resumen pedidos semana (Lun-Dom):
Lunes:     [Centeno: 10][Espelta: 2][Maíz: 5]
Martes:    [Trigo: 4][Centeno: 10]
Miércoles: [Centeno: 1]
Jueves:    [ ]
Viernes:   [Trigo: 5][Centeno: 12][Espelta: 5][Maíz: 7]
Sábado:    [Trigo: 4]
Domingo:   [Espelta: 1]

Total por harina:
Trigo: 13
Centeno: 33
Espelta: 8
Maíz: 12

Harina más pedida: Centeno (33 unidades)

Requisitos: