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