Problem:
Given a square matrix, calculate the absolute difference between the sums of its diagonals.
For example, the square matrix is shown below:
1 2 3
4 5 6
9 8 9
The left-to-right diagonal = . The right to left diagonal = . Their absolute difference is .
Function description
Complete the function in the editor below. It must return an integer representing the absolute diagonal difference.
diagonalDifference takes the following parameter:
- arr: an array of integers .
Input Format
The first line contains a single integer, , the number of rows and columns in the matrix .
Each of the next lines describes a row, , and consists of space-separated integers .
Each of the next lines describes a row, , and consists of space-separated integers .
Constraints
Output Format
Print the absolute difference between the sums of the matrix's two diagonals as a single integer.
Sample Input
3
11 2 4
4 5 6
10 8 -12
Sample Output
15
Explanation
The primary diagonal is:
11
5
-12
Sum across the primary diagonal: 11 + 5 - 12 = 4
The secondary diagonal is
:
4
5
10
Sum across the secondary diagonal: 4 + 5 + 10 = 19
Difference: |4 - 19| = 15
Difference: |4 - 19| = 15
Solution:
#include <iostream>
using namespace std;
/*
*
* Siddharth Goyal
* Chandigarh Engineering College, landran
*
*/
int main()
{
int arr[100][100],s1,s2,i,j,n,diff;
cin>>n;
s1=0;
s2=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>arr[i][j];
}
}
for(i=0;i<n;i++)
{
s1 = s1 + arr[i][i];
}
for(i=0;i<n;i++)
{
s2 = s2 + arr[i][n-1-i];
}
diff=s1-s2;
cout<<abs(diff);
return 0;
}
No comments:
Post a Comment