Advertisement
desislava_topuzakova

11. 11. Reverse Matrix Diagonals

Jan 15th, 2024
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. package javaAdv;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class ReverseMatrixDiagonals_11 {
  7. public static void main(String[] args) {
  8. Scanner scanner = new Scanner(System.in);
  9. int [] dimensions = Arrays.stream(scanner.nextLine().split(" "))
  10. .mapToInt(Integer::parseInt)
  11. .toArray(); //[4, 5]
  12. int rows = dimensions[0]; //брой редове
  13. int cols = dimensions[1]; //брой колони
  14.  
  15. int [][] matrix = new int[rows][cols];
  16.  
  17. //1. въвеждаме матрицата
  18. fillMatrix(matrix, scanner);
  19.  
  20. //2. Print First Part
  21. for (int c = cols - 1; c > 0; c--) { //за всеки един диагонал
  22. for (int row = rows - 1, col = c; row >= 0 && col < cols ; row--, col++) {
  23. System.out.print(matrix[row][col] + " ");
  24. }
  25. System.out.println();
  26. }
  27.  
  28. //3. Print Second Part
  29. for (int r = rows - 1; r >= 0; r--) { //за всеки един диагонал
  30. for (int row = r, col = 0; row >= 0 && col < cols ; row--, col++) {
  31. System.out.print(matrix[row][col] + " ");
  32. }
  33. System.out.println();
  34. }
  35. }
  36.  
  37. private static void fillMatrix(int[][] matrix, Scanner scanner) {
  38. for (int row = 0; row < matrix.length; row++) {
  39. matrix[row] = Arrays.stream(scanner.nextLine()
  40. .split("\\s+"))
  41. .mapToInt(Integer::parseInt).toArray();
  42. }
  43. }
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement