Java 程序查找矩阵的转置

javacampus interviewserver side programmingprogramming

在本文中,我们将了解如何查找矩阵的转置。矩阵的元素按行和列排列。具有 m 行和 n 列的矩阵可称为 m × n 矩阵。矩阵的转置是通过将行交换为列或将列交换为行来找到的。

下面是相同的演示 −

假设我们的输入是

矩阵定义为:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

期望的输出将是

矩阵的转置为:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4

算法

步骤 1 - 开始
步骤 2 - 声明两个整数矩阵,即 input_matrix 和 result_matrix。
步骤 3 - 定义值。
步骤 4 - 使用两个 for 循环迭代矩阵的每个元素,将矩阵 [i][j] 位置的元素分配给 result_matrix 的 [j][i] 位置。
步骤 5 - 显示 result_matrix。
步骤 6 - 停止

示例 1

在这里,我们将所有操作都绑定在‘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("\n ");
      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();
      }
   }
}

输出

矩阵定义为:

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


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

示例 2

在这里,我们将操作封装成展现面向对象编程的函数。

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("\n ");
      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);
   }
}

输出

矩阵定义为:
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4


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

相关文章