# Matrix sum except one item

Given a n*m matrix find the sum of the elements of the matrix without the element specified by its position

Examples:

```Input : mat[] = {{1 2 4},
{5 6 8}}
cell = (0 2)
Output :22
We need to find sum of all elements
except mat[0][2].

Input : mat[][] = {{5 6 2 3}, {2 3 1 8}, {9 6 5 2}}
cell = (1 2)
Output :51
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

A simple solution is to traverse through matrix. For every visited cell, check if it is the cell to be ignored.

## C++

 `// C++ program to find sum  ` `// of matrix except cell (x, y) ` `#include ` `using` `namespace` `std; ` ` `  `// Dimension of input matrix ` `# define R 2 ` `# define C 3 ` ` `  `// Returns sum of arr[][] ` `// except cell arr[x][y] ` `int` `calcSum(``int` `arr[R][C],  ` `            ``int` `x, ``int` `y) ` `{ ` `    ``int` `sum = 0; ` `    ``for` `(``int` `i = 0; i < R; i++) ` `    ``{ ` `        ``for` `(``int` `j = 0; j < C; j++) ` `        ``{ ` `            ``if` `(i != x || j != y) ` `                ``sum = sum + arr[i][j]; ` `        ``} ` `    ``} ` `    ``return` `sum; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `x = 0, y = 2; ` `    ``int` `arr[R][C] = {1, 2, 4,  ` `                     ``5, 6, 8 }; ` `                     `  `    ``cout << calcSum(arr, x, y); ` `} ` ` `  `// This code is contributed  ` `// by ChitraNayal `

## Java

 `// Java program to find sum of matrix except  ` `// cell (x, y) ` `class` `Matrix { ` ` `  `    ``// Returns sum of arr[][] except cell arr[x][y] ` `    ``static` `int` `calcSum(``int``[][] arr, ``int` `x, ``int` `y) ` `    ``{ ` `        ``int` `sum = ``0``; ` `        ``for` `(``int` `i = ``0``; i < arr.length; i++) { ` `            ``for` `(``int` `j = ``0``; j < arr[i].length; j++) { ` `              ``if` `(i != x || j != y) ` `                ``sum = sum + arr[i][j]; ` `            ``} ` `        ``} ` `        ``return` `sum; ` `    ``} ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `x = ``0``, y = ``2``; ` `        ``int``[][] arr = { ` `            ``{ ``1``, ``2``, ``4` `}, { ``5``, ``6``, ``8` `}, ` `        ``}; ` `        ``System.out.println(calcSum(arr, x, y)); ` `    ``} ` `} `

## C#

 `// C# program to find sum  ` `// of matrix except cell (x, y) ` `using` `System; ` ` `  `class` `GFG  ` `{ ` ` `  `    ``// Returns sum of arr[,]  ` `    ``// except cell arr[x][y] ` `    ``static` `int` `calcSum(``int``[,] arr, ` `                       ``int` `x, ``int` `y) ` `    ``{ ` `        ``int` `sum = 0; ` `        ``for` `(``int` `i = 0;  ` `                 ``i < arr.GetLength(0); i++)  ` `        ``{ ` `            ``for` `(``int` `j = 0;  ` `                     ``j < arr.GetLength(1); j++)  ` `            ``{ ` `            ``if` `(i != x || j != y) ` `                ``sum = sum + arr[i, j]; ` `            ``} ` `        ``} ` `        ``return` `sum; ` `    ``} ` `     `  `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `x = 0, y = 2; ` `        ``int``[,] arr = {{ 1, 2, 4 },  ` `                      ``{ 5, 6, 8 }}; ` `        ``Console.Write(calcSum(arr, x, y)); ` `    ``} ` `} ` ` `  `// This code is contributed ` `// by ChitraNayal `

## Python 3

 `# Python 3 program to find  ` `# sum of matrix except cell (x, y) ` ` `  `# Returns sum of arr[][] ` `# except cell arr[x][y] ` `def` `calcSum(arr, x, y): ` `    ``s ``=` `0` `    ``for` `i ``in` `range``(R): ` `        ``for` `j ``in` `range``(C): ` `            ``if` `(i !``=` `x ``or` `j !``=` `y): ` `                ``s ``=` `s ``+` `arr[i][j]; ` `    ``return` `s; ` ` `  `# Driver code ` `x ``=` `0` `y ``=` `2` `arr ``=` `[[ ``1``, ``2``, ``4` `], ` `       ``[ ``5``, ``6``, ``8` `]] ` `R ``=` `2` `C ``=` `3` ` `  `print``(calcSum(arr, x, y)) ` ` `  `# This code is contributed  ` `# by ChitraNayal `

## PHP

 ` `

Output:

```22
```

The above solution causes an extra comparison for every matrix item. A better solution is to first find overall sum, then subtract given cell.

## C++

 `// C++ program to find sum  ` `// of matrix except cell (x, y) ` `#include ` `using` `namespace` `std; ` ` `  `#define R 2 ` `#define C 3 ` ` `  `// Returns sum of arr[][]  ` `// except cell arr[x][y] ` `int` `calcSum(``int` `arr[R][C],  ` `            ``int` `x, ``int` `y) ` `{ ` `    ``int` `sum = 0; ` `    ``for` `(``int` `i = 0; i < R; i++)  ` `        ``for` `(``int` `j = 0; j < C; j++)  ` `            ``sum = sum + arr[i][j]; ` ` `  `    ``return` `sum - arr[x][y]; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `x = 0, y = 2; ` `    ``int` `arr[R][C]= {1, 2, 4 , ` `                    ``5, 6, 8 }; ` ` `  `    ``cout << (calcSum(arr, x, y)); ` `} ` ` `  `// This code is contributed ` `// by ChitraNayal `

## Java

 `// Java program to find sum of matrix except  ` `// cell (x, y) ` `class` `Matrix { ` ` `  `    ``// Returns sum of arr[][] except cell arr[x][y] ` `    ``static` `int` `calcSum(``int``[][] arr, ``int` `x, ``int` `y) ` `    ``{ ` `        ``int` `sum = ``0``; ` `        ``for` `(``int` `i = ``0``; i < arr.length; i++)  ` `            ``for` `(``int` `j = ``0``; j < arr[i].length; j++)  ` `                ``sum = sum + arr[i][j]; ` ` `  `        ``return` `sum - arr[x][y]; ` `    ``} ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `x = ``0``, y = ``2``; ` `        ``int``[][] arr = { ` `            ``{ ``1``, ``2``, ``4` `}, { ``5``, ``6``, ``8` `}, ` `        ``}; ` `        ``System.out.println(calcSum(arr, x, y)); ` `    ``} ` `} `

## C#

 `// C# program to find sum  ` `// of matrix except cell (x, y) ` `using` `System; ` ` `  `class` `GFG  ` `{ ` ` `  `    ``// Returns sum of arr[,] ` `    ``// except cell arr[x,y] ` `    ``static` `int` `calcSum(``int``[,] arr,  ` `                       ``int` `x, ``int` `y) ` `    ``{ ` `        ``int` `sum = 0; ` `        ``for` `(``int` `i = 0;  ` `                 ``i < arr.GetLength(0); i++)  ` `            ``for` `(``int` `j = 0;  ` `                     ``j < arr.GetLength(1); j++)  ` `                ``sum = sum + arr[i, j]; ` ` `  `        ``return` `sum - arr[x, y]; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `x = 0, y = 2; ` `        ``int``[,] arr = {{ 1, 2, 4 },  ` `                      ``{ 5, 6, 8 }}; ` `        ``Console.Write(calcSum(arr, x, y)); ` `    ``} ` `} ` ` `  `// This code is contributed ` `// by ChitraNayal `

## Python 3

 `# Python 3 program to find  ` `# sum of matrix except cell (x, y) ` ` `  `# Returns sum of arr[][]  ` `# except cell arr[x][y] ` `def` `calcSum( arr, x, y): ` `    ``s ``=` `0` `    ``for` `i ``in` `range``(R):  ` `        ``for` `j ``in` `range``(C):  ` `            ``s ``=` `s ``+` `arr[i][j] ` ` `  `    ``return` `s ``-` `arr[x][y] ` ` `  `# Driver code ` `x ``=` `0` `y ``=` `2` `R ``=` `2` `C ``=` `3` `arr ``=` `[[``1``, ``2``, ``4` `], ` `       ``[``5``, ``6``, ``8` `]] ` ` `  `print` `(calcSum(arr, x, y)) ` ` `  `# This code is contributed  ` `# by ChitraNayal `

## PHP

 ` `

Output:

```22
```

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : chitranayal

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.