Skip to content
Related Articles

Related Articles

Improve Article

Java Program to Compute the Sum of Diagonals of a Matrix

  • Last Updated : 28 Mar, 2021

For a given 2D square matrix, the task is to find the sum of elements in the Principle and Secondary diagonals. For example, analyze the following 4 × 4 input matrix.

a00 a01 a02 a03
a10 a11 a12 a13
a20 a21 a22 a23
a30 a31 a32 a33

Approach:

1. The principal diagonal is constituted by the elements a00, a11, a22, a33, and the row-column condition for the principal diagonal is

row = column

2. However, the secondary diagonal is constituted by the elements a03, a12, a21, a30, and the row-column condition for the Secondary diagonal is

row = number_of_rows – column -1

Illustration:



Input 1 :  6 7 3 4
           8 9 2 1
           1 2 9 6
           6 5 7 2

Output 1 : Principal Diagonal: 26
           Secondary Diagonal: 14
 
Input 2 : 2 2 2
          1 1 1
          3 3 3

Output 2 :  Principal Diagonal: 6
            Secondary Diagonal: 6

Example:

Java




// Java Program to Find the Sum of Diagonals of a Matrix
  
// Importing input output classes
import java.io.*;
  
// Main Class
public class GFG {
  
    // Method 1
    // To calculate Sum of Diagonals
    static void Sum_of_Diagonals(int[][] matrix, int N)
    {
  
        // Declaring and initializing two variables to zero
        // initially for primary and secondary diagonal
        // count
        int Pd = 0, Sd = 0;
  
        // Two Nested for loops for iteration over a matrix
  
        // Outer loop for rows
        for (int k = 0; k < N; k++) {
  
            // Inner loo pfo columns
            for (int l = 0; l < N; l++) {
  
                // Condition for the principal
                // diagonal
                if (k == l)
                    Pd += matrix[k][l];
  
                // Condition for the secondary diagonal
                if ((k + l) == (N - 1))
                    Sd += matrix[k][l];
            }
        }
  
        // Print and display the sum of primary diagonal
        System.out.println("Sum of Principal Diagonal:"
                           + Pd);
        // Print and display the sum of secondary diagonal
        System.out.println("Sum of Secondary Diagonal:"
                           + Sd);
    }
  
    // Method 2
    // Main driver method
    static public void main(String[] args)
    {
  
        // Input integer array
        // Custom entries in an array
        int[][] b = { { 8, 2, 13, 4 },
                      { 9, 16, 17, 8 },
                      { 1, 22, 3, 14 },
                      { 15, 6, 17, 8 } };
  
        // Passing the array as an argument to the function
        // defined above(Method1-to compute sum of
        // diagonals)
        Sum_of_Diagonals(b, 4);
    }
}
Output
Sum of Principal Diagonal:35
Sum of Secondary Diagonal:58

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :