desislava_topuzakova

04. Maximal Sum

Sep 22nd, 2020
1,199
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package Exercise;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class nextInt {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.        int [] numbers = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer :: parseInt).toArray();
  10.        int rows = numbers[0];
  11.        int cols = numbers [1];
  12.  
  13.        int [][] matrix = new int [rows][rows];
  14.  
  15.         fillMatrixType1(scanner, matrix, rows, cols);
  16.  
  17.         int maxSum = Integer.MIN_VALUE;
  18.         int startRow = 0;
  19.         int startCol = 0;
  20.         for (int row = 0; row < rows - 2 ; row++) {
  21.             for (int col = 0; col < cols - 2 ; col++) {
  22.                 int sum = matrix[row][col] + matrix[row][col + 1] + matrix[row][col + 2]
  23.                         + matrix[row + 1][col] + matrix[row + 1][col + 1] + matrix[row + 1][col + 2]
  24.                         +  matrix[row + 2][col] + matrix[row + 2][col + 1] + matrix[row + 2][col + 2];
  25.  
  26.                 if(sum > maxSum) {
  27.                     maxSum = sum;
  28.                     startRow = row;
  29.                     startCol = col;
  30.                 }
  31.             }
  32.  
  33.         }
  34.  
  35.         System.out.println("Sum = " + maxSum);
  36.         for (int row = startRow; row <= startRow + 2; row++) {
  37.             for (int col = startCol; col <= startCol + 2 ; col++) {
  38.                 System.out.print(matrix[row][col] + " ");
  39.             }
  40.             System.out.println();
  41.         }
  42.  
  43.  
  44.     }
  45.  
  46.     private static void printMatrix(String[][] matrix) {
  47.         for (int row = 0; row < matrix.length ; row++) {
  48.             for (int col = 0; col < matrix[row].length; col++) {
  49.                 System.out.print(matrix[row][col] + " ");
  50.             }
  51.             System.out.println();
  52.         }
  53.     }
  54.  
  55.     public static void fillMatrixType1(Scanner scanner, int[][] matrix, int rows, int cols) {
  56.         for (int row = 0; row < rows; row++) {
  57.             matrix[row] = Arrays.stream(scanner.nextLine().split("\\s+"))
  58.                     .mapToInt(Integer::parseInt).toArray();
  59.         }
  60.     }
  61. }
RAW Paste Data