Está en la página 1de 2

Guía Nº5: Arreglos y matrices

EII-147 Introducción a las Tecnologías de Información


Prof. Javiera Espinoza – Prof. Sebastián González – Prof. Pitehr Hurtado

Ejercicios
Escriba en Java programas que permitan hacer lo siguiente:

a) Llenar un arreglo de enteros con el factorial de cada posición. Ejemplo: en la posición 0 se


almacena 0!. El largo del arreglo lo define el usuario.
b) Llenar un arreglo de doublé con un valor inicial ingresado por usuario en la primera posición.
En cada posición siguiente se debe llenar con la mitad del valor de la posición anterior. El largo
del arreglo lo define el usuario
c) Llenar un arreglo con la secuencia de Fibonacci. El largo del arreglo lo define el usuario
d) Llenar un arreglo con datos ingresados por el usuario. El largo del arreglo lo define el usuario
e) Encontrar en qué posición se encuentra por primera vez un valor double en un arreglo de
double.
f) Encontrar en qué posición se encuentra por última vez un valor double en un arreglo de
double.
g) Encontrar el menor número int almacenado en un arreglo.
h) Invertir el contenido de un arreglo (sin utilizar otro arreglo como apoyo).
i) Ordene, de menor a mayor, el contenido de un arreglo de tipo int.
j) Copiar uno a uno los datos de un arreglo de int de 30 posiciones, en una matriz de 6x5
(completando por filas).
k) Copiar uno a uno los datos de un arreglo de int de 30 posiciones, en una matriz de 6x5
(completando por columnas).
l) Se tiene una matriz cuadrada de 10x10 de valores int. Calcule la suma de los valores de la
diagonal principal.
m) Se tiene una matriz cuadrada de 10x10 de valores int. Calcule la suma de los valores de la
diagonal secundaria .
n) Se tiene una matriz de 10x7 y un arreglo de largo 10. Escriba en cada posición del arreglo el
promedio de los valores almacenados en la respectiva fila de la matriz (ej. En la posición 0 del
arreglo se escribirá el promedio de la fila 0 , en la posición 1. El promedo de la fila 1, etc.).
o) Genere una matriz de NxN, con N ingresado por el usuario, y que pida al usuario llenar la
matriz. Posteriormente calcule el promedio de cada una de sus diagonales e indique cuál es
mayor. Para efectos del ejercicio la diagonal que comienza en la posición [0][0] será nombrada
diagonal principal, y la otra será nombrada diagonal secundaria.
p) Genere 2 arreglos y una matriz para mantener las notas de un curso. El primer arreglo contará
con A posiciones y guardará el nombre de cada uno de los A alumnos del curso. El segundo
arreglo contará con B posiciones, y guardará la ponderación de cada una de las B evaluaciones
del curso. La matriz deberá contar con AxB posiciones. Cada posición contendrá la nota que
obtuvo un alumno específico para una evaluación determinada. El programa deberá ingresar
primero las ponderaciones de las evaluaciones, y luego, los nombres de los alumnos con sus
notas. Finalmente deberá mostrar los nombres de los alumnos con sus promedios finales y el
nombre de los alumnos que hayan obtenido el promedio más alto.

1
q) Desarrolle un programa en Java que permita multiplicar una matriz de N x M de enteros por
un vector (arreglo) de enteros. La aplicación debe desplegar un menú con las siguientes
opciones:
1. Generar matriz y arreglo: Debe pedir al usuario las dimensiones de la matriz y luego
debe llenar todas las posiciones de la matriz con números proporcionados por el
usuario.
2. Multiplicar.: Debe pedir al usuario la dimensión del vector y luego los números para
llenarlo. La aplicación debe verificar que la matriz sea multiplicable por el vector. De
ser así debe multiplicar la matriz inicial por el vector, y almacenar la respuesta en un
nuevo arreglo. Debe mostrar por pantalla la matriz, el arreglo, y el arreglo resultante.
3. Salir de la aplicación.

Ejemplo de multiplicación de matrices:

Suponga que se genera la siguiente matriz y el siguiente vector. El vector resultante de la


multiplicación quedaría de la siguiente manera:

7 8 1 2 2*7+1*8+ 3*1
2 3 6 x 1 = 2*2+1*3+ 3*6
1 4 5 3 2*1+1*4 + 3*5

NOTA: Para poder multiplicar la matriz por el vector, el número de columnas de la matriz debe
coincidir con el largo del vector.

r) Desarrolle un programa en Java que permita buscar en una matriz de N x N, si un arreglo de


largo máximo N se encuentra contenido en alguna de las filas de la matriz. La aplicación debe
desplegar un menú con las siguientes opciones:
1. Generar matriz: Debe pedir al usuario las dimensiones de la matriz y luego debe llenar
todas las posiciones de la matriz con números al azar a través del método
Math.random(). Estos números deben estar entre el 0 y el 9.
2. Generar sub-matriz: Debe pedir al usuario la dimensión de la matriz (nxn) y debe
pedir la posición desde la cual quiere generar la sub-matriz. La aplicación debe ser
capaz de copiar todos los datos de la matriz inicial en la sub-matriz, correspondiendo
siempre a las dimensiones dadas por el usuario. Una vez generada la sub-matriz, se
debe mostrar por pantalla. Salir de la aplicación.
3. Salir de la Aplicación.

Ejemplo:

Suponga que se genera la siguiente matriz

3 5 7 1 9 7
8 5 9 4 2 6
7 1 0 0 9 8
5 7 6 4 9 0
1 0 2 9 8 3
6 7 4 9 2 0

Y que el usuario desea que la aplicación genere una sub-matriz de dimensiones 3X3, a partir de la
posición [3][1]. La sub-matriz quedaría de la siguiente manera:

7 6 4
0 2 9
7 4 9

NOTA: Se debe verificar que desde la posición ingresada por el usuario se pueda generar una
matriz de las dimensiones dadas, sin que ésta se salga de las dimensiones de la matriz inicial.

También podría gustarte