Advertisement
Guest User

spiralMatrix

a guest
Feb 18th, 2023
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3.     public class Main{
  4.         public static void main(String[] args) {
  5.             Scanner scanner = new Scanner(System.in);
  6.             String input = scanner.nextLine();
  7.  
  8.             int n = Integer.parseInt(input);
  9.             int[][] matrix = new int[n][n];
  10.  
  11.             int i = 1;
  12.             int topBorder = 0;
  13.             int rightBorder = n - 1;
  14.             int bottomBorder = n - 1;
  15.             int leftBorder = 0;
  16.  
  17.             while (i <= n * n) {
  18.                 for (int j = leftBorder; j <= rightBorder; j++) {
  19.                     matrix[topBorder][j] = i;
  20.                     i++;
  21.                 }
  22.                 topBorder++;
  23.  
  24.                 for (int j = topBorder; j <= bottomBorder; j++) {
  25.                     matrix[j][rightBorder] = i;
  26.                     i++;
  27.                 }
  28.                 rightBorder--;
  29.  
  30.                 for (int j = rightBorder; j >= leftBorder; j--) {
  31.                     matrix[bottomBorder][j] = i;
  32.                     i++;
  33.                 }
  34.                 bottomBorder--;
  35.  
  36.                 for (int j = bottomBorder; j >= topBorder; j--) {
  37.                     matrix[j][leftBorder] = i;
  38.                     i++;
  39.                 }
  40.                 leftBorder++;
  41.             }
  42.  
  43.             for (int[] row : matrix) {
  44.                 for (int cell : row) {
  45.                     System.out.printf("%d ", cell);
  46.                 }
  47.                 System.out.println();
  48.             }
  49.         }
  50.     }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement