desislava_topuzakova

01. Fill the Matrix

May 25th, 2021
1,356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.96 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class demo {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         String input = scanner.nextLine(); //3, A -> ["3", "A"]
  7.         int size = Integer.parseInt(input.split(", ")[0]);
  8.         String pattern = input.split(", ")[1]; // A или B
  9.  
  10.         int [][] matrix = new int[size][size];
  11.         if(pattern.equals("A")) {
  12.             //fill matrix pattern A
  13.             fillPatternA(matrix, size);
  14.         } else if (pattern.equals("B")) {
  15.             //fill matrix pattern B
  16.             fillPatternB(matrix, size);
  17.         }
  18.         printMatrix(matrix, size, size);
  19.     }
  20.  
  21.     private static void fillPatternA(int[][] matrix, int size) {
  22.         //size -> count rows + count cols
  23.         int startNumber = 1;
  24.         for (int col = 0; col < size; col++) {
  25.             for (int row = 0; row < size; row++) {
  26.                 matrix[row][col] = startNumber++;
  27.                 //startNumber++;
  28.             }
  29.         }
  30.     }
  31.  
  32.     private static void fillPatternB(int [][] matrix, int size) {
  33.         //четна колона -> 0 до последния
  34.         //нечетна колона -> последния до първия
  35.         int startNumber = 1;
  36.         for (int col = 0; col < size; col++) {
  37.             if (col % 2 == 0) {
  38.                 for (int row = 0; row < size; row++) {
  39.                     matrix[row][col] = startNumber++;
  40.                 }
  41.             } else {
  42.                 for (int row = size - 1; row >= 0; row--) {
  43.                     matrix[row][col] = startNumber++;
  44.                 }
  45.             }
  46.  
  47.         }
  48.     }
  49.  
  50.     //print matrix
  51.     public static void printMatrix (int [][] matrix, int rows, int cols) {
  52.         for (int row = 0; row < rows; row++) {
  53.             for (int col = 0; col < cols; col++) {
  54.                 System.out.print(matrix[row][col] + " ");
  55.             }
  56.             System.out.println();
  57.         }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment