Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Shavit Borisov
- // CW
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args)
- {
- final int SIZE = 3;
- Scanner in = new Scanner(System.in);
- int value;
- System.out.printf("The size of your matrix is %d.\n", SIZE);
- MagicMatrix matrix = new MagicMatrix(SIZE);
- System.out.printf("Start entering values into your matrix:\n");
- for(int i = 0; i < SIZE; i++)
- for(int j = 0; j < SIZE; j++)
- {
- System.out.printf("matrix[%d][%d] = ", i, j);
- value = in.nextInt();
- matrix.updateCell(i, j, value);
- }
- System.out.printf("%s", matrix.equalRows() ? "Your matrix has equal rows\n" : "Your matrix doesn't have equal rows\n");
- System.out.printf("%s", matrix.equalCols() ? "Your matrix has equal cols\n" : "Your matrix doesn't have equal cols\n");
- System.out.printf("%s", matrix.magicMatrix() ? "Your matrix is magical" : "Your matrix isn't magical");
- in.close();
- }
- }
- // Next class
- public class MagicMatrix
- {
- int[][] matrix;
- public MagicMatrix(int size)
- {
- matrix = new int[size][size];
- for(int i = 0; i < size; i++)
- for(int j = 0; j < size; j++)
- matrix[i][j] = 0;
- }
- public void updateCell(int row, int col, int value)
- {
- matrix[row][col] = value;
- }
- public boolean equalRows()
- {
- boolean equal = true;
- int[] results = new int[matrix.length];
- for(int i = 0; i < results.length; i++)
- results[i] = 0;
- for(int i = 0; i < matrix.length; i++)
- for(int j = 0; j < matrix[i].length; j++)
- results[i] += matrix[i][j];
- for(int i = 0; (i < results.length - 1) && (equal); i++)
- if(results[i] != results[i + 1])
- equal = false;
- return equal;
- }
- public boolean equalCols()
- {
- boolean equal = true;
- int[] results = new int[matrix[0].length];
- for(int i = 0; i < results.length; i++)
- results[i] = 0;
- for(int j = 0; j < matrix[0].length; j++)
- for(int i = 0; i < matrix.length; i++)
- results[j] += matrix[i][j];
- for(int i = 0; (i < results.length - 1) && (equal); i++)
- if(results[i] != results[i + 1])
- equal = false;
- return equal;
- }
- public boolean magicMatrix()
- {
- if(equalRows() && equalCols())
- {
- int sum = 0;
- for(int i = 0; i < matrix.length; i++)
- sum += matrix[i][i];
- for(int i = 0; i < matrix.length; i++)
- sum -= matrix[0][matrix.length - i - 1];
- if(sum == 0)
- {
- for(int i = 0; i < matrix.length; i++)
- sum += matrix[0][i];
- for(int i = 0; i < matrix[0].length; i++)
- sum -= matrix[i][0];
- if(sum == 0)
- return true;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement