Saturday, August 18, 2018

SQUARE MATRIX


  • Problem Description

    Given a square matrix of size NN, calculate the absolute difference between the sums of its diagonals. 

    Input
    The first line contains a single integer N. The next N lines denote the matrix's rows, with each line containing N space-separated integers describing the columns.

    Output
    Print the absolute difference between the two sums of the matrix's diagonals as a single integer.

    Constraints
    1<=N<=10

    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
  • CODING ARENA
  • #include <stdio.h>
    #include<math.h>
    #include<stdlib.h>
    int main()
    {
      int n,sum=0,i,j,sum1=0,difference=0;
      scanf("%d",&n);
      int a[100][100];
      for(i=0;i<n;i++)
      {
        for(j=0;j<n;j++)
        {
          scanf("%d",&a[i][j]);
        }
      }
      for(i=0;i<n;i++)
      {
        for(j=0;j<n;j++)
        {
          if(i==j)
            sum=sum+a[i][j];
        }
      }
      for(i=0;i<n;i++)
      {
        for(j=0;j<n;j++)
        {
          if(i==n-j-1)
            sum1=sum1+a[i][j];
        }
      }
      difference=abs(sum-sum1);
      printf("%d",difference);
      return 0;
    }
  • Test Case 1

    Input (stdin)
    3
    
    11 2 4
    
    4 5 6
    
    10 8 -12
    
    
    Expected Output
    15
  • Test Case 2

    Input (stdin)
    3
    
    4 5 5
    
    3 9 6
    
    7 4 6
    
    
    Expected Output
    2

No comments:

Post a Comment