# Check if sums of i-th row and i-th column are same in matrix

• Difficulty Level : Easy
• Last Updated : 24 Nov, 2022

Given a matrix mat[][], we have to check if the sum of i-th row is equal to the sum of i-th column or not.

Examples:

```Input : 1 2 3 4
9 5 3 1
0 3 5 6
0 4 5 6
Output : Yes
Sums of 1st row = 10 and 1st column
are same, i.e., 10```

Expected time complexity is O(m x n) where m is a number of rows and n is a number of columns.

The idea is really simple. We use a nested loop to calculate the sum of each row and column and then check whether their sum is equal or not.

The implementation of the above idea is given below.

## C++

 `#include ` `using` `namespace` `std;` `const` `int` `MAX = 100;`   `// Function to check the if sum of a row` `// is same as corresponding column` `bool` `areSumSame(``int` `a[][MAX], ``int` `n, ``int` `m)` `{` `    ``int` `sum1 = 0, sum2 = 0;` `    ``for` `(``int` `i = 0; i < min(n, m); i++) {` `        ``sum1 = 0, sum2 = 0;` `        ``for` `(``int` `j = 0; j < min(n, m); j++) {` `            ``sum1 += a[i][j];` `            ``sum2 += a[j][i];` `        ``}` `        ``if` `(sum1 == sum2)` `            ``return` `true``;` `    ``}` `    ``return` `false``;` `}`   `// Driver Code` `int` `main()` `{` `    ``int` `n = 4; ``// number of rows` `    ``int` `m = 4; ``// number of columns` `    ``int` `M[n][MAX] = { { 1, 2, 3, 4 },` `                      ``{ 9, 5, 3, 1 },` `                      ``{ 0, 3, 5, 6 },` `                      ``{ 0, 4, 5, 6 } };` `    ``cout << areSumSame(M, n, m) << ``"\n"``;` `    ``return` `0;` `}`

## Java

 `// Java program to check if there are two` `// adjacent set bits.` `public` `class` `GFG {` `    `  `    ``// Function to check the if sum of a row` `    ``// is same as corresponding column` `    ``static` `boolean` `areSumSame(``int` `a[][], ` `                             ``int` `n, ``int` `m)` `    ``{` `        ``int` `sum1 = ``0``, sum2 = ``0``;` `        ``for` `(``int` `i = ``0``; i < n; i++) ` `        ``{` `            ``sum1 = ``0``;` `            ``sum2 = ``0``;` `            ``for` `(``int` `j = ``0``; j < m; j++)` `            ``{` `                ``sum1 += a[i][j];` `                ``sum2 += a[j][i];` `            ``}` `            `  `            ``if` `(sum1 == sum2)` `                ``return` `true``;` `        ``}` `        `  `        ``return` `false``;` `    ``}` `    `  `    ``// Driver code` `    ``public` `static` `void` `main(String args[])` `    ``{`   `        ``int` `n = ``4``; ``// number of rows` `        ``int` `m = ``4``; ``// number of columns` `        `  `        ``int` `M[][] = { { ``1``, ``2``, ``3``, ``4` `},` `                      ``{ ``9``, ``5``, ``3``, ``1` `}, ` `                      ``{ ``0``, ``3``, ``5``, ``6` `},` `                      ``{ ``0``, ``4``, ``5``, ``6` `} };` `                        `  `        ``if``(areSumSame(M, n, m) == ``true``)` `            ``System.out.print(``"1\n"``);` `        ``else` `            ``System.out.print(``"0\n"``);` `    ``}` `}`   `// This code is contributed by Sam007.`

## Python3

 `# Python3 program to check the if` `# sum of a row is same as ` `# corresponding column` `MAX` `=` `100``;`   `# Function to check the if sum ` `# of a row is same as` `# corresponding column` `def` `areSumSame(a, n, m):` `    ``sum1 ``=` `0` `    ``sum2 ``=` `0` `    ``for` `i ``in` `range``(``0``, n):` `        ``sum1 ``=` `0` `        ``sum2 ``=` `0` `        ``for` `j ``in` `range``(``0``, m):` `            ``sum1 ``+``=` `a[i][j]` `            ``sum2 ``+``=` `a[j][i]` `        `  `        ``if` `(sum1 ``=``=` `sum2):` `            ``return` `1` `    `  `    ``return` `0`   `# Driver Code` `n ``=` `4``; ``# number of rows` `m ``=` `4``; ``# number of columns` `M ``=` `[ [ ``1``, ``2``, ``3``, ``4` `],` `      ``[ ``9``, ``5``, ``3``, ``1` `],` `      ``[ ``0``, ``3``, ``5``, ``6` `],` `      ``[ ``0``, ``4``, ``5``, ``6` `] ]` `      `  `print``(areSumSame(M, n, m))`   `# This code is contributed by Sam007.`

## C#

 `// C# program to check if there are two` `// adjacent set bits.` `using` `System;`   `class` `GFG {` `    `  `    ``// Function to check the if sum of a row` `    ``// is same as corresponding column` `    ``static` `bool` `areSumSame(``int` `[,]a, ``int` `n, ``int` `m)` `    ``{` `        ``int` `sum1 = 0, sum2 = 0;` `        ``for` `(``int` `i = 0; i < n; i++) ` `        ``{` `            ``sum1 = 0;` `            ``sum2 = 0;` `            ``for` `(``int` `j = 0; j < m; j++)` `            ``{` `                ``sum1 += a[i,j];` `                ``sum2 += a[j,i];` `            ``}` `            `  `            ``if` `(sum1 == sum2)` `                ``return` `true``;` `        ``}` `        `  `        ``return` `false``;` `    ``}` `    `  `    ``// Driver code    ` `    ``public` `static` `void` `Main ()` `    ``{` `        ``int` `n = 4; ``// number of rows` `        ``int` `m = 4; ``// number of columns` `        `  `        ``int` `[,] M = { { 1, 2, 3, 4 },` `                      ``{ 9, 5, 3, 1 }, ` `                      ``{ 0, 3, 5, 6 },` `                      ``{ 0, 4, 5, 6 } };` `                      `  `        ``if``(areSumSame(M, n, m) == ``true``)` `            ``Console.Write(``"1\n"``);` `        ``else` `            ``Console.Write(``"0\n"``);` `    ``}` `}`   `// This code is contributed by Sam007.`

## PHP

 ``

## Javascript

 ``

Output

```1
```

Time Complexity: O(min(n, m) * min(n,m))
Auxiliary Space: O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up
Related Articles