mr_anastasov

codexio_RotateMatrix

Nov 14th, 2022
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.51 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4.     public static void main(String[] args) {
  5.  
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         System.out.println("Enter the number of matrix rows");
  9.  
  10.         int matrixRow = scanner.nextInt();
  11.  
  12.         System.out.println("Enter the number of matrix columns");
  13.  
  14.         int matrixCol = scanner.nextInt();
  15.  
  16.         System.out.println("Enter the matrix matrix data");
  17.  
  18.         int[][] matrix = new int[matrixRow][matrixCol];
  19.  
  20.         for (int i = 0; i < matrixRow; i++) {
  21.             for (int j = 0; j < matrixCol; j++) {
  22.                 matrix[i][j] = scanner.nextInt();
  23.             }
  24.         }
  25.  
  26.         System.out.println("Enter number of rotations");
  27.         int rotations = scanner.nextInt();
  28.  
  29.         System.out.println("Your Matrix is : ");
  30.         for (int i = 0; i < matrixRow; i++) {
  31.             for (int j = 0; j < matrixCol; j++) {
  32.                 System.out.print(matrix[i][j] + "\t");
  33.             }
  34.             System.out.println();
  35.         }
  36.  
  37.         if (matrixRow == matrixCol) {
  38.             System.out.println("Rotated matrix:");
  39.  
  40.             if (rotations % 4 == 0) {
  41.                 for (int i = 0; i < matrixRow; i++) {
  42.                     for (int j = 0; j < matrixCol; j++) {
  43.                         System.out.print(matrix[i][j] + "\t");
  44.                     }
  45.                     System.out.println();
  46.                 }
  47.             } else {
  48.                 for (int l = 0; l < rotations; l++) {
  49.                     int length = matrix.length - 1;
  50.                     for (int i = 0; i <= (length) / 2; i++) {
  51.                         for (int j = i; j < length - i; j++) {
  52.  
  53.                             int p1 = matrix[i][j];
  54.                             int p2 = matrix[j][length - i];
  55.                             int p3 = matrix[length - i][length - j];
  56.                             int p4 = matrix[length - j][i];
  57.  
  58.                             matrix[j][length - i] = p1;
  59.                             matrix[length - i][length - j] = p2;
  60.                             matrix[length - j][i] = p3;
  61.                             matrix[i][j] = p4;
  62.                         }
  63.                     }
  64.                 }
  65.  
  66.             }
  67.         }
  68.                 for (int i = 0; i < matrixRow; i++) {
  69.                     for (int j = 0; j < matrixCol; j++) {
  70.                         System.out.print(matrix[i][j] + "\t");
  71.                     }
  72.                     System.out.println();
  73.                 }
  74.             }
  75.         }
  76.        
Advertisement
Add Comment
Please, Sign In to add comment