Skip to content

Commit c1e2bef

Browse files
committed
Added Actividad20_Aplicacion - Unit 5
1 parent 651ac8e commit c1e2bef

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package unit05.Actividad20_Aplicacion;
2+
3+
import java.util.Scanner;
4+
5+
/*
6+
Escribe un programa que solicite los elementos de una matriz de tamaño 4 x 4.
7+
La aplicación debe decidir si la matriz introducida corresponde a una matriz mágica,
8+
que es aquella donde la suma de los elementos de cualquier fila o de cualquier columna valen lo mismo.
9+
*/
10+
public class Actividad20 {
11+
public static void main(String[] args) {
12+
Scanner sc = new Scanner(System.in);
13+
int[][] matriz = new int[4][4];
14+
15+
// Leer los elementos de la matriz
16+
for (int i = 0; i < matriz.length; i++) {
17+
System.out.println("Fila " + (i + 1));
18+
for (int j = 0; j < matriz[i].length; j++) {
19+
System.out.print("Elemento " + (j + 1) + ": ");
20+
matriz[i][j] = sc.nextInt();
21+
}
22+
}
23+
24+
// Mostrar la matriz
25+
System.out.println("Matriz");
26+
for (int i = 0; i < matriz.length; i++) {
27+
System.out.print("Fila " + (i + 1) + ": ");
28+
for (int j = 0; j < matriz[i].length; j++) {
29+
System.out.print(matriz[i][j] + " ");
30+
}
31+
System.out.println();
32+
}
33+
34+
// Comprobar si es mágica
35+
if (esMagica(matriz)) {
36+
System.out.println("La matriz es mágica");
37+
} else {
38+
System.out.println("La matriz no es mágica");
39+
}
40+
}
41+
42+
43+
public static boolean esMagica (int[][] matriz) {
44+
boolean esMagica = true;
45+
int sumaFila = 0;
46+
47+
// Suma de la primera fila
48+
for (int i = 0; i < matriz[0].length; i++) {
49+
sumaFila += matriz[0][i];
50+
}
51+
52+
// Suma de las filas
53+
for (int i = 1; i < matriz.length && esMagica; i++) {
54+
int sumaFila2 = 0;
55+
for (int j = 0; j < matriz[i].length; j++) {
56+
sumaFila2 += matriz[i][j];
57+
}
58+
if (sumaFila2 != sumaFila) {
59+
esMagica = false;
60+
}
61+
}
62+
63+
// Suma de las columnas
64+
for (int i = 0; i < matriz[0].length && esMagica; i++) {
65+
int sumaColumna2 = 0;
66+
for (int j = 0; j < matriz.length; j++) {
67+
sumaColumna2 += matriz[j][i];
68+
}
69+
if (sumaColumna2 != sumaFila) {
70+
esMagica = false;
71+
}
72+
}
73+
74+
return esMagica;
75+
}
76+
}

0 commit comments

Comments
 (0)