C++ program to find the sum of diagonal elements of a matrix

This C++ program finds the sum of the diagonal elements of a matrix. The row and column values of the matrix are read into the variables m and n. Then the elements are read one by one into the 2D array a[][] using a nested for loop, at the same time the address of the first element in each row is stored to the pointer array p[]. Then the program uses for loop to find the sum of the first and second diagonal elements and the result is displayed to the output screen. 

Program


//matrix diagonal elements sum c++
#include<iostream.h>
#include<conio.h>
void main()
{
          int a[10][10],*p[10];
          int m,n,i,j,s1=0,s2=0,t;
          cout<<"Enter the order of matrics: ";
          cin>>m>>n;
          cout<<"Enter the elements\n\n";
          for(i=0;i<m;i++)
          {
                   p[i]=&a[i][0];
                   for(j=0;j<n;j++)
                   {
                             cin>>a[i][j];
                   }
          }
          cout<<"\n\nFirst diagonal elements are\n\n";
          for(i=0;i<n;i++)
          {
                   cout<<*(p[i]+i)<<"\t";
                   s1=s1+*(p[i]+i);
          }
          cout<<"\n\nSecond diagonal elements are\n\n";
          t=n;
          for(i=0;i<n;i++)
          {
                   cout<<*(p[t-1]+i)<<"\t";
                   s2=s2+*(p[t-1]+i);
                   t--;
          }
          cout<<"\n\nSum of first diagonal elements is: ";
          cout<<s1;
          cout<<"\n\nSum of second diagonal elements is: ";
          cout<<s2;
          getch();

}


 

3 comments:

Stark98 said...

Very very smart logic :O
Still don't believe this is possible!

Joe Abraham said...

Thanks Tony.

Anonymous said...

Good logic