Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम मैट्रिक्स तत्वों को घुमाने के लिए

इस लेख में, हम समझेंगे कि मैट्रिक्स तत्वों को कैसे घुमाना है। एक मैट्रिक्स पंक्तियों और स्तंभों में तत्वों का प्रतिनिधित्व है। मैट्रिक्स रोटेशन मैट्रिक्स के प्रत्येक तत्व की स्थिति को 1 स्थिति से दाएं या बाएं स्थानांतरित कर रहा है।

नीचे उसी का एक प्रदर्शन है -

मान लें कि हमारा इनपुट है -

The matrix is defined as
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

वांछित आउटपुट होगा -

The matrix after one rotation:
5 1 2 3
9 10 6 4
13 11 7 8
14 15 16 12

एल्गोरिदम

Step 1 - START
Step 2 - Declare an integer matrix namely input_matrix and declare four integer values namely row, column, previous, next.
Step 3 - Define the values.
Step 4 - Iterate over each element of the matrix using a while loop and shift the position of each element by one position to the right using multiple for-loops and store the matrix.
Step 5 - Display the result
Step 5 - Stop

उदाहरण 1

यहां, उपयोगकर्ता द्वारा एक संकेत के आधार पर इनपुट दर्ज किया जा रहा है।

public class RotateMatrix {
   static int Rows = 4;
   static int Columns = 4;
   public static void main(String[] args) {
      int input_matrix[][] = {
         {1, 2, 3, 4},
         {5, 6, 7, 8},
         {9, 10, 11, 12},
         {13, 14, 15, 16}
      };
      System.out.println("The input_matrix is defined as ");
      for (int i = 0; i < Rows; i++) {
         for (int j = 0; j < Columns; j++)
         System.out.print( input_matrix[i][j] + " ");
         System.out.print("\n");
      }
      int m = Rows, n = Columns;
      int row = 0, column = 0;
      int previous, current;
      while (row < m && column < n) {
         if (row + 1 == m || column + 1 == n)
            break;
         previous = input_matrix[row + 1][column];
         for (int i = column; i < n; i++) {
            current = input_matrix[row][i];
            input_matrix[row][i] = previous;
            previous = current;
         }
         row++;
         for (int i = row; i < m; i++) {
            current = input_matrix[i][n-1];
            input_matrix[i][n-1] = previous;
            previous = current;
         }
         n--;
         if (row < m) {
            for (int i = n-1; i >= column; i--) {
               current = input_matrix[m-1][i];
               input_matrix[m-1][i] = previous;
               previous = current;
            }
         }
         m--;
         if (column < n) {
            for (int i = m-1; i >= row; i--) {
               current = input_matrix[i][column];
               input_matrix[i][column] = previous;
               previous = current;
            }
         }
         column++;
      }
      System.out.println("\nThe input_matrix after one rotation: ");
      for (int i = 0; i < Rows; i++) {
         for (int j = 0; j < Columns; j++)
         System.out.print( input_matrix[i][j] + " ");
         System.out.print("\n");
      }
   }
}

आउटपुट

The input_matrix is defined as
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

The input_matrix after one rotation:
5 1 2 3
9 10 6 4
13 11 7 8
14 15 16 12

उदाहरण 2

यहां, पूर्णांक को पहले परिभाषित किया गया है, और इसके मान को एक्सेस किया जाता है और कंसोल पर प्रदर्शित किया जाता है।

public class RotateMatrix {
   static int Rows = 4;
   static int Columns = 4;
   static void Rotate_matrix(int m,
   int n, int matrix[][]) {
      int row = 0, column = 0;
      int previous, current;
      while (row < m && column < n) {
         if (row + 1 == m || column + 1 == n)
            break;
         previous = matrix[row + 1][column];
         for (int i = column; i < n; i++) {
            current = matrix[row][i];
            matrix[row][i] = previous;
            previous = current;
         }
         row++;
         for (int i = row; i < m; i++) {
            current = matrix[i][n-1];
            matrix[i][n-1] = previous;
            previous = current;
         }
         n--;
         if (row < m) {
            for (int i = n-1; i >= column; i--) {
               current = matrix[m-1][i];
               matrix[m-1][i] = previous;
               previous = current;
            }
         }
         m--;
         if (column < n) {
            for (int i = m-1; i >= row; i--) {
               current = matrix[i][column];
               matrix[i][column] = previous;
               previous = current;
            }
         }
         column++;
      }
      System.out.println("\nThe matrix after one rotation: ");
      for (int i = 0; i < Rows; i++) {
         for (int j = 0; j < Columns; j++)
         System.out.print( matrix[i][j] + " ");
         System.out.print("\n");
      }
   }
   public static void main(String[] args) {
      int input_matrix[][] = {
         {1, 2, 3, 4},
         {5, 6, 7, 8},
         {9, 10, 11, 12},
         {13, 14, 15, 16}
      };
      System.out.println("The matrix is defined as ");
      for (int i = 0; i < Rows; i++) {
         for (int j = 0; j < Columns; j++)
         System.out.print( input_matrix[i][j] + " ");
         System.out.print("\n");
      }
      Rotate_matrix(Rows, Columns, input_matrix);
   }
}

आउटपुट

The matrix is defined as
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

The matrix after one rotation:
5 1 2 3
9 10 6 4
13 11 7 8
14 15 16 12

  1. जावा प्रोग्राम दी गई सीमा में विषम कारकों वाले तत्वों की संख्या प्राप्त करने के लिए

    दी गई श्रेणी में विषम कारकों वाले तत्वों की संख्या प्राप्त करने के लिए, जावा कोड इस प्रकार है - उदाहरण import java.io.*; import java.util.*; import java.lang.*; public class Demo{    public static int square_count(int low_range, int high_range){       return (int)Math.pow((d

  1. पुनरावृत्त त्वरित सॉर्ट के लिए जावा प्रोग्राम

    इटरेटिव क्विक सॉर्ट के लिए जावा प्रोग्राम निम्नलिखित है - उदाहरण public class Demo{    void swap_vals(int arr[], int i, int j){       int temp = arr[i];       arr[i] = arr[j];       arr[j] = temp;    }    int partition(int ar

  1. सरणी रोटेशन के लिए जावा प्रोग्राम

    सरणी रोटेशन के लिए जावा प्रोग्राम निम्नलिखित है - उदाहरण public class Demo{    void rotate_left(int my_arr[], int d, int len){       d = d % len;       int i, j, k, temp;       int divisor = greatest_Common_divisor(d, len);