Zeshin

OOP_08

Apr 9th, 2021 (edited)
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.62 KB | None | 0 0
  1. import java.util.*;
  2. public class OOP_08 {
  3.     public static void main(String[] args) {
  4.         Scanner scan = new Scanner(System.in);
  5.         int sheets = scan.nextInt();
  6.         scan.nextLine();
  7.         double[][] final_matrix = new double[sheets+1][3];
  8.         for(int i=0;i<sheets;i++){
  9.             String input_size = scan.nextLine();
  10.             String[] sizeOfmatrix = input_size.split(" ");
  11.             int[][] matrix = new int[Integer.parseInt(sizeOfmatrix[0])][Integer.parseInt(sizeOfmatrix[1])];
  12.             int sum =0;
  13.             double average =0;
  14.             int min = Integer.MAX_VALUE;
  15.             int max = Integer.MIN_VALUE;
  16.             int above_average = 0;
  17.             for(int j =0;j<matrix.length;j++){
  18.                 String input_elements = scan.nextLine();
  19.                 String[] elements = input_elements.split(" ");
  20.                 for(int b=0;b<matrix[j].length;b++){
  21.                     matrix[j][b] = Integer.parseInt(elements[b]);
  22.                     if(max < matrix[j][b]){
  23.                         max = matrix[j][b];
  24.                     }
  25.                     if(min > matrix[j][b]){
  26.                         min = matrix[j][b];
  27.                     }
  28.                     sum+=matrix[j][b];
  29.                 }
  30.             }
  31.             average = Double.valueOf(sum) / (matrix.length*matrix[0].length);
  32.             above_average = aboveAverage(matrix,average);
  33.             final_matrix[i][0] = min;
  34.             final_matrix[i][1] = max;
  35.             final_matrix[i][2] = average;
  36.             final_matrix[sheets][i] =above_average;
  37.         }
  38.         printmatrixwithspaces(final_matrix);
  39.  
  40.     }
  41.  
  42.     public static int aboveAverage(int[][] matrix, double average){
  43.         int counter = 0;
  44.         for(int i =0;i<matrix.length;i++){
  45.             for(int j = 0;j<matrix[i].length;j++){
  46.                 if(matrix[i][j] > Math.round(average)){ // Тук е важно! Ако се махне Math.round ще излиза 4 накрая, ако се въведат еднакви числа като примера. На примера е показано да излиза 3 и затова съм закръглил, но иначе е  правилно да излиза 4 защото 4.56 < 5 !
  47.                     counter++;
  48.                 }
  49.             }
  50.         }
  51.         return counter;
  52.     }
  53.  
  54.     public static void printmatrixwithspaces(double[][] matrix){
  55.         for(int i =0;i<matrix.length;i++){
  56.             for(int j =0;j<matrix[i].length;j++){
  57.                 System.out.print(String.format("%.2f",matrix[i][j])+" ");
  58.             }
  59.             System.out.println();
  60.         }
  61.     }
  62. }
  63.  
Add Comment
Please, Sign In to add comment