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

Chương trình Java tính tổng đườ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 tính tổng các đường chéo của ma trận. Ma trận có sự sắp xếp hàng và cột. Đường chéo chính (principal diagonal) đi từ góc trên trái đến góc dưới phải. Đường chéo phụ (secondary diagonal) đi từ góc dưới trái đến góc trên phải.

Minh họa

Đầu vào:

The input matrix: 4 5 6 7 1 7 3 4 11 12 13 14 23 24 25 50

Đầu ra mong muốn:

Sum principal diagonal elements: 74 Sum of secondary diagonal elements: 45

Thuật toán

  1. Bắt đầu
  2. Khai báo ma trận số nguyên input_matrix
  3. Khởi tạo giá trị
  4. Duyệt ma trận bằng 2 vòng lặp for: cộng đường chéo chính nếu i == j, đường chéo phụ nếu i + j == matrix_size - 1
  5. Hiển thị kết quả
  6. Kết thúc

Ví dụ 1: Triển khai trong hàm main

public class MatrixDiagonals {
    static public void main(String[] args) {
        int[][] input_matrix = {
            { 4, 5, 6, 7 },
            { 1, 7, 3, 4 },
            { 11, 12, 13, 14 },
            { 23, 24, 25, 50 }
        };
        
        int matrix_size = 4;
        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.print("\n");
        }
        
        int principal_diagonal = 0, secondary_diagonal = 0;
        for (int i = 0; i < matrix_size; i++) {
            for (int j = 0; j < matrix_size; j++) {
                if (i == j)
                    principal_diagonal += input_matrix[i][j];
                if ((i + j) == (matrix_size - 1))
                    secondary_diagonal += input_matrix[i][j];
            }
        }
        
        System.out.println("\n The sum of principal diagonal elements of the matrix is: " + principal_diagonal);
        System.out.println("\n The sum of secondary diagonal elements of the matrix is: " + secondary_diagonal);
    }
}

Đầu ra

The matrix is defined as : 
4 5 6 7 
1 7 3 4 
11 12 13 14 
23 24 25 50 
The sum of principal diagonal elements of the matrix is: 74
The sum of secondary diagonal elements of the matrix is: 45

Ví dụ 2: Tách hàm static (OOP)

public class MatrixDiagonals {
    static void diagonals_sum(int[][] input_matrix, int matrix_size) {
        int principal_diagonal = 0, secondary_diagonal = 0;
        
        for (int i = 0; i < matrix_size; i++) {
            for (int j = 0; j < matrix_size; j++) {
                if (i == j)
                    principal_diagonal += input_matrix[i][j];
                if ((i + j) == (matrix_size - 1))
                    secondary_diagonal += input_matrix[i][j];
            }
        }
        
        System.out.println("\n The sum of principal diagonal elements of the matrix is: " + principal_diagonal);
        System.out.println("\n The sum of secondary diagonal elements of the matrix is: " + secondary_diagonal);
    }
    
    static public void main(String[] args) {
        int[][] input_matrix = {
            { 4, 5, 6, 7 },
            { 1, 7, 3, 4 },
            { 11, 12, 13, 14 },
            { 23, 24, 25, 50 }
        };
        
        int matrix_size = 4;
        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.print("\n");
        }
        
        diagonals_sum(input_matrix, matrix_size);
    }
}

Đầu ra

The matrix is defined as : 
4 5 6 7 
1 7 3 4 
11 12 13 14 
23 24 25 50 
The sum of principal diagonal elements of the matrix is: 74
The sum of secondary diagonal elements of the matrix is: 45