martes, 21 de octubre de 2014

Programa Java Decide si es un cuadro mágico 3x3 que da 15 la suma de cada columna; fila y diagonal

Descripción del Cuadro mágico

Dado un tablero de tres filas por tres columnas con dígitos (1 a 9) en cada casilla, determina si se trata de un cuadrado mágico. En un cuadrado mágico la suma de los valores en cada fila, cada columna y cada diagonal, siempre es 15.

Entrada

Tres líneas, en cada línea tres dígitos separados por espacios.

Salida

Imprime SI, si se trata de un cuadrado mágico, NO en caso contrario.

Ejemplo








Código de la solución si se trata de un cuadro mágico:


import java.util.Scanner;
public class CuadroMagico {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int sumaF=0,sumaC=0,sumaD1=0,sumaD2=0,j,sumaC2=0,sumaC3=0, conta=0;
        int[][] cm = new int[3][3];
        for (int i = 0; i < 3; i++) {
            for (int k = 0; k < 3; k++) {
                 cm[i][k]=sc.nextInt();
            }
        }
        for (int i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                sumaF+=cm[i][j];  
            }
            if(sumaF!=15){
                break;
            }else{conta++;}
            sumaF=0;
            sumaC3+=cm[i][2];
            sumaC2+=cm[i][1];
            sumaC+=cm[i][0];
            sumaD1+=cm[i][i];
            sumaD2+=cm[i][j-1];  
        }
        if(conta==3 && (sumaC3+sumaC2+sumaC+sumaD1+sumaD2)%15==0){
            System.out.println("SI");
        }else{
             System.out.println("NO");
        }
    }
}


























































































No hay comentarios:

Publicar un comentario