Giới thiệu
Trong bài viết này, chúng ta sẽ tìm hiểu cách tìm chuyển vị của ma trận. Ma trận có sự sắp xếp hàng và cột. Ma trận m hàng n cột gọi là ma trận m × n. Chuyển vị ma trận được tìm thấy bằng cách hoán đổi hàng thành cột hoặc cột thành hàng.
Minh họa
Đầu vào:
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:
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
- Bắt đầu
- Khai báo 2 ma trận số nguyên:
input_matrixvàresult_matrix - Khởi tạo giá trị
- Duyệt từng phần tử bằng 2 vòng lặp
for, gán phần tử tại [i][j] của ma trận gốc vào [j][i] của ma trận kết quả - Hiển thị
result_matrix - Kết thúc
Ví dụ 1: Triển khai 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: Tách hàm static (OOP)
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