Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để tìm chuyển vị của ma trận

Trong bài này, chúng ta sẽ hiểu cách tìm chuyển vị của một ma trận. Ma trận có sự sắp xếp theo hàng và cột của các phần tử của nó. Một ma trận có m hàng và n cột có thể được gọi là ma trận m × n. Chuyển vị của ma trận được tìm thấy bằng cách hoán đổi các hàng của nó thành cột hoặc cột thành hàng.

Dưới đây là một minh chứng về điều tương tự -

Giả sử đầu vào của chúng tôi là -

The matrix is defined as:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

Đầu ra mong muốn sẽ là -

The transpose of the matrix is:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4

Thuật toán

Step 1 - START
Step 2 - Declare two integer matrices namely input_matrix and result_matrix.
Step 3 - Define the values.
Step 4 - Iterate over each element of the matrix using two for-loops, assign the element at [i][j] position of the matrix to the [j][i] position of the result_matrix.
Step 5 - Display the result_matrix.
Step 6 - Stop

Ví dụ 1

Ở đây, chúng tôi liên kết tất cả các hoạt động với nhau trong hàm "main".

public class MatrixTranspose {
   static final int matrix_size = 4;
   public static void main (String[] args) {
      int input_matrix[][] = {
         {1, 1, 1, 1},
         {2, 2, 2, 2},
         {3, 3, 3, 3},
         {4, 4, 4, 4}
      };
      System.out.println("The matrix is defined as: \n");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(input_matrix[i][j] + " ");
         }
         System.out.println();
      }
      int result_matrix[][] = new int[matrix_size][matrix_size];
      for (int i = 0; i < matrix_size; i++)
         for (int j = 0; j < matrix_size; j++)
            result_matrix[i][j] = input_matrix[j][i];
      System.out.println("\nThe transpose of the matrix is: ");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(result_matrix[i][j] + " ");
         }
         System.out.println();
      }
   }
}

Đầu ra

The matrix is defined as:

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

The transpose of the matrix is:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4

Ví dụ 2

Ở đây, chúng tôi đóng gói các hoạt động thành các hàm trưng bày lập trình hướng đối tượng.

public class MatrixTranspose {
   static final int matrix_size = 4;
   static void transpose(int input_matrix[][]) {
      int result_matrix[][] = new int[matrix_size][matrix_size];
      for (int i = 0; i < matrix_size; i++)
         for (int j = 0; j < matrix_size; j++)
            result_matrix[i][j] = input_matrix[j][i];
      System.out.println("\nThe transpose of the matrix is: ");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(result_matrix[i][j] + " ");
         }
         System.out.println();
      }
   }
   public static void main (String[] args) {
      int input_matrix[][] = {
         {1, 1, 1, 1},
         {2, 2, 2, 2},
         {3, 3, 3, 3},
         {4, 4, 4, 4}
      };

      System.out.println("The matrix is defined as: \n");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(input_matrix[i][j] + " ");
         }
         System.out.println();
      }
      transpose(input_matrix);
   }
}

Đầu ra

The matrix is defined as:

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

The transpose of the matrix is:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4