Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java hoán đổi đường chéo ma trận

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

  1. Bắt đầu
  2. Khai báo: ma trận input_matrix, số nguyên matrix_size, temp
  3. Khởi tạo giá trị
  4. 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
  5. Hiển thị kết quả
  6. 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