Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để tính tổng các đường chéo của một ma trận

Trong bài này, chúng ta sẽ hiểu cách tính tổng các đường chéo của một ma trận. Ma trận có sự sắp xếp theo hàng và cột của các phần tử của nó. Đường chéo chính là một đường chéo trong ma trận vuông đi từ góc trên bên trái đến góc dưới bên phải.

Đường chéo phụ là một đường chéo của ma trận vuông đi từ góc dưới bên trái đến góc trên bên phải.

Dưới đây là một minh chứng về điều tương tự -

Giả sử đầu vào của chúng tôi là -

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

Đầu ra mong muốn sẽ là -

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

Thuật toán

Step 1 - START
Step 2 - Declare an integer matrix namely input_matrix
Step 3 - Define the values.
Step 4 - Iterate over each element of the matrix using two for-loops, add the diagonal elements use the condition ‘i’ = ‘j’ to get the sum of principle diagonal elements and the condition ‘i’ + ‘j’ = matrix_size – 1 to get the sum of secondary diagonal elements.
Step 5 - Display the result
Step 5 - Stop

Ví dụ 1

Ở đây, chúng tôi liên kết tất cả các hoạt động với nhau 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

Ở đây, chúng tôi đóng gói các hoạt động thành các hàm thể hiện lập trình hướng đối tượng.

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