desislava_topuzakova

Untitled

Sep 21st, 2021
656
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. import java.util.Scanner;
  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".split -> ["3", "A"]
  7. int n = Integer.parseInt(input.split(", ")[0]); //размер на кв. матрица -> брой редове = брой колоните = n
  8. String pattern = input.split(", ")[1]; //A или B
  9.  
  10. int [][] matrix = new int[n][n];
  11. if (pattern.equals("A")) {
  12. //попълваме матрицата по начин А -> по колони
  13. fillMatrixPatternA(matrix);
  14. } else if (pattern.equals("B")) {
  15. //попълваме матрицата по начин B
  16. fillMatrixPatternB(matrix);
  17. }
  18. printMatrix(matrix, n, n);
  19. }
  20.  
  21. private static void fillMatrixPatternB(int [][] matrix) {
  22. //четни колони -> 0 до последния
  23. //нечетни колони -> последния до 0
  24. int startNumber = 1;
  25. for (int col = 0; col < matrix.length; col++) {
  26. if (col % 2 == 0) {
  27. for (int row = 0; row < matrix.length ; row++) {
  28. matrix[row][col] = startNumber++;
  29. }
  30. } else {
  31. for (int row = matrix.length - 1; row >= 0; row--) {
  32. matrix[row][col] = startNumber++;
  33. }
  34. }
  35. }
  36. }
  37.  
  38. private static void fillMatrixPatternA(int [][] matrix) {
  39. int startNumber = 1;
  40. for (int col = 0; col < matrix.length; col++) {
  41. for (int row = 0; row < matrix.length; row++) {
  42. matrix[row][col] = startNumber++;
  43. //startNumber++;
  44. }
  45. }
  46. }
  47.  
  48. public static void printMatrix (int [][] matrix, int rows, int cols) {
  49. for (int row = 0; row < rows; row++) {
  50. for (int col = 0; col < cols; col++) {
  51. System.out.print(matrix[row][col] + " ");
  52. }
  53. System.out.println();
  54. }
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment