[Matrix] Hoán đổi vị trí của 2 đường chéo chính
Nguồn: Click here
Viết chương trình Java để
Các bước thực hiện để viết chương trình Java:
1. Viết phương thức để hoán đổi: Dùng 1 vòng for để thay đổi giá trị của các phần tử trên đường chéo chính:
- tmp = matrix[i][i];
- matrix[i][i]=matrix[i][(n-i)-1];
- matrix[i][(n-i)-1] = tmp
2. Viết phương thức để in ra ma trận
3. Trong hàm main, nhập vào 1 ma trận để test các phương thức ở trên (sinh viên có thể tạo ma trận ngẫu nhiên như trong link này)
Code tham khảo của chương trình Java:
package matrix;
public class MatrixDiagonalSwap {
// Function to interchange diagonals of a matrix
public static void diagonalSwap(int[][] matrix, int n) {
for (int i = 0; i < n; i++) {
int temp = matrix[i][i];
matrix[i][i] = matrix[i][(n - i) - 1];
matrix[i][(n - i) - 1] = temp;
}
}
public static void printMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++)
System.out.print(matrix[i][j] + " ");
System.out.println();
}
}
// Driver code
public static void main(String[] args) {
int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int n = 3;
diagonalSwap(matrix, n);
// Print the interchanged matrix
printMatrix(matrix);
}
}
Không có nhận xét nào