Advertisement
Boyan5

oop4

Jun 24th, 2021
629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1. import java.util.Scanner;
  2. public class zad4 {
  3.     public static void main(String[] args) {
  4.         Scanner scan = new Scanner(System.in);
  5.  
  6.         String choice = scan.nextLine();
  7.         String[] numbers = choice.split(" ");
  8.  
  9.         int[][] array = new int[Integer.parseInt(numbers[0])][Integer.parseInt(numbers[1])];
  10.  
  11.         for(int i = 0; i < array.length; i++){
  12.             String input = scan.nextLine();
  13.             String[] nums = input.split(" ");
  14.             for(int j = 0; j < array[0].length; j++){
  15.                 array[i][j] = Integer.parseInt(nums[j]);
  16.             }
  17.         }
  18.         if(checkTicket(array)){
  19.             System.out.println("YES");
  20.             System.out.print("The amount of money won is: " + getPrize(array));
  21.         }else{
  22.             System.out.println("NO");
  23.         }
  24.     }
  25.  
  26.     public static boolean checkTicket(int[][] array){
  27.         int sumMainDiagonal = 0;
  28.         int sumSecondDiagonal = 0;
  29.         int sumUp = 0;
  30.         int sumDown = 0;
  31.  
  32.         for(int i = 0; i < array.length; i++){
  33.             sumMainDiagonal+=array[i][i];
  34.         }
  35.  
  36.         for(int i = array.length - 1; i >- 1; i--){
  37.             sumSecondDiagonal+=array[i][i];
  38.         }
  39.  
  40.         for(int i = 0; i < array.length; i++){
  41.             for(int j = 1 + i; j < array[i].length; j++){
  42.                 sumUp+=array[i][j];
  43.             }
  44.         }
  45.  
  46.         for(int i = array.length - 1; i >- 1; i--){
  47.             for(int j =i-1;j>-1;j--){
  48.                 sumDown+=array[i][j];
  49.             }
  50.         }
  51.  
  52.  
  53.         if(sumMainDiagonal == sumSecondDiagonal){
  54.             return true;
  55.         }
  56.         if(sumUp % 2 ==0){
  57.             return true;
  58.         }
  59.         if(sumDown % 2 !=0){
  60.             return true;
  61.         }
  62.  
  63.         return false;
  64.     }
  65.  
  66.     public static double getPrize(int[][] matrix){
  67.         double sum_mainDiagonal = 0;
  68.         double sum_down = 0;
  69.         double outer_col = 0;
  70.         double outer_row = 0;
  71.         double average =0;
  72.  
  73.         for(int i = 0; i < matrix.length;i++){
  74.             if(matrix[i][i] % 2 == 0){
  75.                 sum_mainDiagonal+=matrix[i][i];
  76.             }
  77.         }
  78.  
  79.         for(int i = 0; i < matrix.length; i = i + matrix.length - 1){
  80.             for(int j = 0; j < matrix[i].length; j++){
  81.                 if(matrix[i][j] % 2 == 0){
  82.                     outer_row += matrix[i][j];
  83.                 }
  84.             }
  85.         }
  86.  
  87.         for(int i = 0; i < matrix[0].length; i = i + matrix.length - 1){
  88.             for(int j = 0; j < matrix.length; j++){
  89.                 if(matrix[j][i] % 2 != 0){
  90.                     outer_col+=matrix[j][i];
  91.                 }
  92.             }
  93.         }
  94.  
  95.         for(int i = matrix.length - 1; i >- 1; i--){
  96.             for(int j = i - 1; j >- 1; j--){
  97.                 sum_down += matrix[i][j];
  98.             }
  99.         }
  100.  
  101.         average = (sum_down + sum_mainDiagonal + outer_col + outer_row) / 4;
  102.         double rounded = Math.round(average * 100) / 100;
  103.         return rounded;
  104.  
  105.     }
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement