Wednesday, December 25, 2019

Diagonal Difference Hacker Rank Solution

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 .
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
Note: |x| is the absolute value of x

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

Staircase hackerrank Solution

Problem: Consider a staircase of size             #           ##     ###   #### Observe that its base and height are both equal to...