55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| import java.util.Scanner;
 | |
| 
 | |
| class MagicSquareCheck {
 | |
| 
 | |
|     public static void main(String args[]) {
 | |
|         Scanner sc = new Scanner(System.in);
 | |
|         System.out.print("Enter the dimension of the square matrix: ");
 | |
|         int n = sc.nextInt();
 | |
|         int a[][] = new int[n][n];
 | |
|         for (int i = 0; i < n; i++) {
 | |
|             for (int j = 0; j < n; j++) {
 | |
|                 System.out.print(
 | |
|                     "Enter the element at (" + i + "," + j + "): "
 | |
|                 );
 | |
|                 a[i][j] = sc.nextInt();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         // sum of the first row (to have a baseline sum)
 | |
|         int sum = 0;
 | |
|         for (int j = 0; j < n; j++) {
 | |
|             sum += a[0][j];
 | |
|         }
 | |
| 
 | |
|         // rows, columns, and diagonals
 | |
|         boolean isMagicSquare = true;
 | |
|         int diag1 = 0, diag2 = 0;
 | |
| 
 | |
|         for (int i = 0; i < n; i++) {
 | |
|             int rowSum = 0, colSum = 0;
 | |
|             diag1 += a[i][i];
 | |
|             diag2 += a[i][n - 1 - i];
 | |
| 
 | |
|             for (int j = 0; j < n; j++) {
 | |
|                 rowSum += a[i][j];
 | |
|                 colSum += a[j][i];
 | |
|             }
 | |
| 
 | |
|             if (rowSum != sum || colSum != sum) {
 | |
|                 isMagicSquare = false;
 | |
|                 break;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         if (diag1 != sum || diag2 != sum) {
 | |
|             isMagicSquare = false;
 | |
|         }
 | |
| 
 | |
|         if (isMagicSquare) {
 | |
|             System.out.println("The matrix is a magic square.");
 | |
|         } else {
 | |
|             System.out.println("The matrix is not a magic square.");
 | |
|         }
 | |
|     }
 | |
| }
 | 
