-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ejercicio27.java
82 lines (76 loc) · 2.84 KB
/
Ejercicio27.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
* Ejercicio # 27
Un cuadrado mágico 3 x 3 es una matriz 3 x 3 formada por números del 1 al 9
donde la suma de sus filas, sus columnas y sus diagonales son idénticas. Crear un
programa que permita introducir un cuadrado por teclado y determine si este
cuadrado es mágico o no. El programa deberá comprobar que los números
introducidos son correctos, es decir, están entre el 1 y el 9.
*/
package egg_ejercicios;
import java.util.Scanner;
import java.util.Arrays;
/**
*
* @author WALTER GOMEZ
*/
public class Ejercicio27 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner leer = new Scanner(System.in).useDelimiter("\n");
//DecimalFormat df = new DecimalFormat("###.##");
int[] numeros = {2, 7, 6, 9, 5, 1, 4, 3, 8};
int contador = 0, sumarFilas, sumarColumnas, diagonalP = 0, diagonalS = 0;
int[] sumaFilas = new int[3];
int[] sumaColumnas = new int[3];
int[] sumaDiagonales = new int[2];
int[][] cuadrado = new int[3][3];
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
if(numeros[contador] > 9 || numeros[contador] < 1) {
System.out.println("Ingreso numeros invalidos");
} else {
cuadrado[i][j] = numeros[contador];
contador += 1;
}
}
}
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
System.out.print(cuadrado[i][j] + " ");
}
System.out.println("");
}
for(int i = 0; i < 3; i++) {
sumarFilas = 0;
sumarColumnas = 0;
for(int j = 0; j < 3; j++) {
sumarFilas += cuadrado[i][j];
sumarColumnas += cuadrado[j][i];
if(i + j == 2) {
diagonalS += cuadrado[i][j];
}
}
diagonalP += cuadrado[i][i];
sumaFilas[i] = sumarFilas;
sumaColumnas[i] = sumarColumnas;
}
sumaDiagonales[0] = diagonalS;
sumaDiagonales[1] += diagonalP;
contador = 0;
for(int i = 0; i < 3; i++) {
if(sumaFilas[i] == sumaColumnas[i] && sumaFilas[i] == sumaDiagonales[0] && sumaDiagonales[0] == sumaDiagonales[1]) {
contador += 1;
}
}
if(contador == 3) {
System.out.println("Es un cuadrado magico");
} else {
System.out.println("No es un cuadrado magico");
}
System.out.println(Arrays.toString(sumaDiagonales));
System.out.println(Arrays.toString(sumaFilas));
System.out.println(Arrays.toString(sumaColumnas));
}
}