UNIVERSIDAD TECNOLOGICA DEL PERÚ
ESCUELA PROFESIONAL DE INGINIERIA DE SISTEMAS E INFORMATICA
LABORATORIO PRÁCTICO DE VECTORES EN JAVA
1. Ingresar N notas en un arreglo (como máximo 10) y determinar el
porcentaje de aprobados y el porcentaje de desaprobados. Valide el ingreso
de datos (validar N y validar las notas (0-20)).
import [Link];
public class MatrizSumaFilas {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[][] matriz = new int[3][3];
int[] sumaFilas = new int[3];
int maxSuma = Integer.MIN_VALUE;
int filaMaxima = -1;
// Llenar la matriz
[Link]("Ingrese los elementos de la matriz 3x3:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
[Link]("Elemento [" + i + "][" + j + "]: ");
matriz[i][j] = [Link]();
}
}
// Calcular suma de filas
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
sumaFilas[i] += matriz[i][j];
}
if (sumaFilas[i] > maxSuma) {
maxSuma = sumaFilas[i];
filaMaxima = i;
}
}
// Imprimir resultados
[Link]("Suma de las filas: ");
for (int i = 0; i < 3; i++) {
[Link]("Fila " + i + ": " + sumaFilas[i]);
}
[Link]("La fila con la suma máxima es la fila " + filaMaxima
+ " con una suma de " + maxSuma);
}
}
2. Se tienen almacenados en la memoria dos vectores M y N de 5 elementos
cada uno. Hacer un programa que escriba la palabra “Iguales” si ambos
vectores son iguales y “Diferentes” si no lo son. Serán iguales cuando en la
misma posición de ambos vectores se tenga el mismo valor para todos los
elementos. Valide el ingreso de datos.
import [Link];
public class MultiplicacionMatrices {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Ingrese el tamaño de las matrices (número de filas y
columnas): ");
int n = [Link]();
int[][] matriz1 = new int[n][n];
int[][] matriz2 = new int[n][n];
int[][] resultado = new int[n][n];
[Link]("Ingrese los elementos de la primera matriz:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
[Link]("Elemento [" + i + "][" + j + "]: ");
matriz1[i][j] = [Link]();
}
}
[Link]("Ingrese los elementos de la segunda matriz:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
[Link]("Elemento [" + i + "][" + j + "]: ");
matriz2[i][j] = [Link]();
}
}
// Multiplicación de matrices
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
for (int k = 0; k < n; k++) {
resultado[i][j] += matriz1[i][k] * matriz2[k][j];
}
}
}
// Imprimir el resultado
[Link]("Resultado de la multiplicación:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
[Link](resultado[i][j] + " ");
}
[Link]();
}
}
}
3. Ingresar N notas en un arreglo y determinar la Moda. La Moda es el valor
que más veces se repite. Valide el ingreso de datos.
import [Link];
public class BuscarNumeroMatriz {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Ingrese el número de filas: ");
int filas = [Link]();
[Link]("Ingrese el número de columnas: ");
int columnas = [Link]();
int[][] matriz = new int[filas][columnas];
[Link]("Ingrese los elementos de la matriz:");
for (int i = 0; i < filas; i++) {
for (int j = 0; j < columnas; j++) {
[Link]("Elemento [" + i + "][" + j + "]: ");
matriz[i][j] = [Link]();
}
}
[Link]("Ingrese un número para buscar en la matriz: ");
int numero = [Link]();
int count = 0;
[Link]("Posiciones del número:");
for (int i = 0; i < filas; i++) {
for (int j = 0; j < columnas; j++) {
if (matriz[i][j] == numero) {
count++;
[Link]("[" + i + "][" + j + "]");
}
}
}
[Link]("El número " + numero + " se repite " + count + "
veces en la matriz.");
}
}
4. Diseñe un programa que lea dos vectores A y B de 5 elementos cada uno y
multiplique el primer elemento de A con el último elemento de B y luego el
segundo elemento de A por el cuarto elemento de B y así sucesivamente
hasta llegar al quinto elemento de A por el primer elemento de B. El
resultado de la multiplicación almacenarlo en un vector C. Valide el ingreso
de datos.
import [Link];
public class MenorEnMatriz {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Ingrese el número de filas: ");
int filas = [Link]();
[Link]("Ingrese el número de columnas: ");
int columnas = [Link]();
int[][] matriz = new int[filas][columnas];
[Link]("Ingrese los elementos de la matriz:");
for (int i = 0; i < filas; i++) {
for (int j = 0; j < columnas; j++) {
[Link]("Elemento [" + i + "][" + j + "]: ");
matriz[i][j] = [Link]();
}
}
int menor = Integer.MAX_VALUE;
// Encontrar el menor
for (int i = 0; i < filas; i++) {
for (int j = 0; j < columnas; j++) {
if (matriz[i][j] < menor) {
menor = matriz[i][j];
}
}
}
[Link]("El número menor es " + menor);
[Link]("Se encuentra en las posiciones:");
for (int i = 0; i < filas; i++) {
for (int j = 0; j < columnas; j++) {
if (matriz[i][j] == menor) {
[Link]("[" + i + "][" + j + "]");
}
}
}
}
}
5. Supongamos que en una elección hubo 5 candidatos (con identificadores
(1,2,3….5). Por otra parte, los votos para cada candidato se teclean de
manera desorganizada como se muestra a continuación hasta llenar el
vector.
Ejemplo de votación
1 , 5, 2, 5 , 1 , 3 , 1, 5 , 2 , 1 , 3 , 5 , 4, 4 , 2
Construya una aplicación en java que pueda proporcionar la siguiente
información. Use arreglo Unidimensional de tamaño 15 de tipo entero.
El número de votos de cada candidato al final de la elección
El candidato ganador, el número de votos que obtuvo y el porcentaje
correspondiente del total de la elección. Suponemos que el candidato
ganador no empató en número de votos con otro candidato.
import [Link];
public class IntercambiarDiagonales {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
int[][] matriz = new int[3][3];
[Link]("Ingrese los elementos de la matriz 3x3:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
[Link]("Elemento [" + i + "][" + j + "]: ");
matriz[i][j] = [Link]();
}
}
[Link]("Diagonal principal:");
for (int i = 0; i < 3; i++) {
[Link](matriz[i][i] + " ");
}
[Link]("\nDiagonal secundaria:");
for (int i = 0; i < 3; i++) {
[Link](matriz[i][2 - i] + " ");
}
// Intercambiar diagonales
for (int i = 0; i < 3; i++) {
int temp = matriz[i][i];
matriz[i][i] = matriz[i][2 - i];
matriz[i][2 - i] = temp;
}
[Link]("\nMatriz con diagonales intercambiadas:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
[Link](matriz[i][j] + " ");
}
[Link]();
}
}
}
6. Dado el vector T de tamaño “N”. Si el tamaño es par invertir los elementos
de la mitad de los elementos del vector.
Ejemplo:
v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4]
import [Link];
public class InvertirMitadesVector {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
// Leer tamaño del vector y validar que sea par
int n;
do {
[Link]("Ingrese el tamaño del vector (debe ser par): ");
n = [Link]();
} while (n <= 0 || n % 2 != 0);
// Inicializar el vector
int[] vector = new int[n];
// Ingresar elementos del vector
[Link]("Ingrese los elementos del vector:");
for (int i = 0; i < n; i++) {
[Link]("Elemento " + (i + 1) + ": ");
vector[i] = [Link]();
}
// Invertir la primera mitad
for (int i = 0, j = n / 2 - 1; i < j; i++, j--) {
int temp = vector[i];
vector[i] = vector[j];
vector[j] = temp;
}
// Invertir la segunda mitad
for (int i = n / 2, j = n - 1; i < j; i++, j--) {
int temp = vector[i];
vector[i] = vector[j];
vector[j] = temp;
}
// Mostrar el vector invertido
[Link]("Vector invertido:");
for (int i = 0; i < n; i++) {
[Link]("[" + vector[i] + "] ");
}
}
}