Advertisement
IrinaIgnatova

Fill the Matrix Patterns

Oct 9th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. package com.company;
  2.  
  3.  
  4. import java.io.IOException;
  5.  
  6.  
  7. import java.util.*;
  8.  
  9. public class Main {
  10.  
  11.  
  12.     public static void main(String[] args) {
  13.         Scanner scanner = new Scanner(System.in);
  14.  
  15.         String[] input = scanner.nextLine().split(", ");
  16.         int size = Integer.parseInt(input[0]);
  17.         String pattern = input[1];
  18.  
  19.         int[][] matrix = new int[size][];
  20.  
  21.         if (pattern.equals("A")) {
  22.             matrix = getMatrixA(size);
  23.         } else {
  24.             matrix = getMatrixB(size);
  25.         }
  26.         PrintMatrix(matrix);
  27.  
  28.  
  29.     }
  30.  
  31.     private static void PrintMatrix(int[][] matrix) {
  32.         for (int row = 0; row < matrix.length; row++) {
  33.             for (int col = 0; col < matrix[row].length; col++) {
  34.                 System.out.print(matrix[row][col] + " ");
  35.             }
  36.             System.out.println();
  37.         }
  38.     }
  39.  
  40.     private static int[][] getMatrixA(int size) {
  41.         int[][] matrix = new int[size][size];
  42.  
  43.         int value = 1;//започваме матрицата от едно по условие
  44.         for (int col = 0; col < size; col++) {
  45.             for (int row = 0; row < size; row++) {// ходим до size и в двата цикъла защото е квадратна матрица
  46.                 matrix[row][col] = value++;//увеличава се стойността с 1 по условие
  47.             }
  48.         }
  49.  
  50.  
  51.         return matrix;
  52.     }
  53.  
  54.     private static int[][] getMatrixB(int size) {
  55.         int[][] matrix = new int[size][size];
  56.  
  57.         int value = 1;//започваме матрицата от едно по условие
  58.         for (int col = 0; col < size; col++) {
  59.             if (col % 2 == 0) {
  60.  
  61.  
  62.                 for (int row = 0; row < size; row++) {// ходим до size и в двата цикъла защото е квадратна матрица
  63.                     matrix[row][col] = value++;//увеличава се стойността с 1 по условие
  64.                 }
  65.             } else {
  66.                 for (int row = size - 1; row >= 0; row--) {
  67.                     matrix[row][col] = value++;
  68.                 }
  69.             }
  70.         }
  71.  
  72.  
  73.         return matrix;
  74.     }
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement