# C++ Program to Find Sum of Diagonals of Matrix

Here is the C++ program to find the sum of diagonals of a matrix.

The matrix should be a square matrix.

```#include<iostream>

using namespace std;

int main()
{
int a[5][5],d1sum=0,d2sum=0,m,i,j;
cout<<"Enter size of the square matrix(max 5):";
cin>>m;
cout<<"\nEnter the Matrix row wise:\n";

for(i=0;i<m;i++)
for(j=0;j<m;++j)
cin>>a[i][j];

for(i=0;i<m;++i)
for(j=0;j<m;++j)
{
if(i==j)
d1sum+=a[i][j];
if(i+j==(m-1))
d2sum+=a[i][j];
}

cout<<"\nSum of 1st diagonal is "<<d1sum;
cout<<"\nSum of 2nd diagonal is "<<d2sum;

return 0;
}```

Output

Enter size of the square matrix(max 5):

3

1 2 3

4 5 6

7 8 9

Sum of 1st diagonal is 15

Sum of 2nd diagonal is 15

### 13 thoughts on “C++ Program to Find Sum of Diagonals of Matrix”

1. Wow!!! I request you to join my school as CS teacher…………..that will be really a great help for me and my friends……………………….I just added you on FB..

2. Hello! Can you please help me? I don’t know how to sort the principal diagonal elements of a matrix in ascending or descending order . I have used this code:
#include
#define N 3

using namespace std;

int main()
{
int i,j,Matric[N][N],tmp,k,a[N][N],min,w,q=0,z=0;

cout<<"\nVendosni vlerat e matrices:\n";
for(i=0 ; i<N ; i++)
{
for(j=0 ; j<N ; j++)
{
cout<<"Vendos ["<<i<<"]["<<j<>Matric[i][j];
}
}

cout<<"\nMatrica e dhene:\n";
for(i=0 ; i<N ; i++)
{
for(j=0 ; j<N ; j++)
{
cout<<Matric[i][j]<<" ";
}
cout<<endl;
}

cout<<"\nDiagonalja kryesore: ";
for(i=0 ; i<N ; i++)
for (j=0; j<N ; j++)
{ if (i==j)
cout<<Matric[i][j]<<" ";
}

cout<<"\n Elementet e diagonales sipas rendit zbrites: \n" ;

return 0;
}