JAVA   42

08. Wrong Measurements

Guest on 21st August 2022 04:29:56 AM

  1. package Multidimensional_Arrays_Lab;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class WrongMeasurements_07 {
  7.  
  8.     public static void main(String[] args) {
  9.         try (Scanner sc = new Scanner(System.in)) {
  10.  
  11.             int n = Integer.parseInt(sc.nextLine());
  12.  
  13.             int[][] matrix = new int[n][];
  14.  
  15.             for (int i = 0; i < n; i++) {
  16.                 int[] data = Arrays.stream(sc.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  17.                 matrix[i] = data;
  18.             }
  19.             int[] indexes = Arrays.stream(sc.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  20.             int x = indexes[0];
  21.             int y = indexes[1];
  22.  
  23.             int wrongValue = matrix[x][y];
  24.             int[][] newMatrix = new int[n][];
  25.  
  26.             for (int i = 0; i < n; i++) {
  27.                 newMatrix[i] = matrix[i].clone();
  28.             }
  29.             for (int i = 0; i < n; i++) {
  30.                 for (int j = 0; j < matrix[i].length; j++) {
  31.                     if (newMatrix[i][j] == wrongValue) {
  32.                         newMatrix[i][j] = getSumOfElements(matrix, i, j, wrongValue);
  33.                     }
  34.                 }
  35.             }
  36.  
  37.             for (int i = 0; i < n; i++) {
  38.                 for (int j = 0; j < matrix[i].length; j++) {
  39.                     System.out.print(newMatrix[i][j] + " ");
  40.                 }
  41.                 System.out.println();
  42.             }
  43.         }
  44.     }
  45.  
  46.     private static int getSumOfElements(int[][] matrix, int i, int j, int wrongValue) {
  47.  
  48.         int sum = 0;
  49.  
  50.         if (i - 1 >= 0 && matrix[i - 1][j] != wrongValue) {
  51.             sum += matrix[i - 1][j];
  52.         }
  53.         if (i + 1 < matrix.length && matrix[i + 1][j] != wrongValue) {
  54.             sum += matrix[i + 1][j];
  55.         }
  56.         if (j - 1 >= 0 && matrix[i][j - 1] != wrongValue) {
  57.             sum += matrix[i][j - 1];
  58.         }
  59.         if (j + 1 < matrix[i].length && matrix[i][j + 1] != wrongValue) {
  60.             sum += matrix[i][j + 1];
  61.         }
  62.         return sum;
  63.     }
  64.  
  65. }

Raw Paste


Login or Register to edit or fork this paste. It's free.