Giới thiệu
Trong bài viết này, chúng ta sẽ tìm hiểu cách hoán đổi (interchange) các đường chéo 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. Các phần tử được biểu diễn bởi a[i][j] (phần tử a ở hàng i, cột j).
Minh họa
Đầu vào:
The matrix is defined as: 4 5 6 1 2 3 7 8 9
Đầu ra mong muốn:
The matrix after interchanging the elements: 6 5 4 1 2 3 9 8 7
Thuật toán
- Bắt đầu
- Khai báo: ma trận
input_matrix, số nguyênmatrix_size,temp - Khởi tạo giá trị
- Duyệt ma trận bằng nhiều vòng lặp
for, hoán đổi các phần tử đường chéo chính và phụ dùng biến tạm - Hiển thị kết quả
- Kết thúc
Ví dụ 1: Triển khai trong hàm main
public class InterchangeDiagonals {
public static int matrix_size = 3;
public static void main(String[] args) {
int input_matrix[][] = {
{4, 5, 6},
{1, 2, 3},
{7, 8, 9}
};
System.out.println("The matrix is defined as: ");
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();
}
for (int i = 0; i < matrix_size; ++i)
if (i != matrix_size / 2) {
int temp = input_matrix[i][i];
input_matrix[i][i] = input_matrix[i][matrix_size - i - 1];
input_matrix[i][matrix_size - i - 1] = temp;
}
System.out.println("\nThe matrix after interchanging the elements: ");
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();
}
}
}
Đầu ra
The matrix is defined as: 4 5 6 1 2 3 7 8 9 The matrix after interchanging the elements: 6 5 4 1 2 3 9 8 7
Ví dụ 2: Tách hàm static (OOP)
public class InterchangeDiagonals {
public static int matrix_size = 3;
static void interchange_diagonals(int input_matrix[][]) {
for (int i = 0; i < matrix_size; ++i)
if (i != matrix_size / 2) {
int temp = input_matrix[i][i];
input_matrix[i][i] = input_matrix[i][matrix_size - i - 1];
input_matrix[i][matrix_size - i - 1] = temp;
}
System.out.println("\nThe matrix after interchanging the elements: ");
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();
}
}
public static void main(String[] args) {
int input_matrix[][] = {
{4, 5, 6},
{1, 2, 3},
{7, 8, 9}
};
System.out.println("The matrix is defined as: ");
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();
}
interchange_diagonals(input_matrix);
}
}
Đầu ra
The matrix is defined as: 4 5 6 1 2 3 7 8 9 The matrix after interchanging the elements: 6 5 4 1 2 3 9 8 7