Skip to content
Related Articles

Related Articles

Improve Article

Matrix sum except one item

  • Difficulty Level : Easy
  • Last Updated : 17 May, 2021

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

 

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<bits/stdc++.h>
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




<?php
// PHP program to find
// sum of matrix except
// cell (x, y)
$R = 2;
$C = 3;
 
// Returns sum of arr[][]
// except cell arr[x][y]
function calcSum(&$arr, $x, $y)
{
    global $R,$C;
    $sum = 0;
    for ($i = 0; $i < $R; $i++)
    {
        for ($j = 0; $j < $C; $j++)
        {
            if ($i != $x || $j != $y)
                $sum = $sum + $arr[$i][$j];
        }
    }
    return $sum;
}
 
// Driver code
$x = 0;
$y = 2;
$arr = array(array(1, 2, 4),
             array(5, 6, 8));
         
echo (calcSum($arr, $x, $y));
 
// This code is contributed
// by ChitraNayal
?>

Javascript




<script>
// Javascript program to find sum of matrix except
// cell (x, y)
     
    // Returns sum of arr[][] except cell arr[x][y]
    function calcSum(arr,x,y)
    {
         let sum = 0;
        for (let i = 0; i < arr.length; i++) {
            for (let j = 0; j < arr[i].length; j++) {
              if (i != x || j != y)
                sum = sum + arr[i][j];
            }
        }
        return sum;
    }
     
    let x = 0, y = 2;
     
    let arr=[[1, 2, 4],[5, 6, 8 ]];
    document.write(calcSum(arr, x, y));
     
// This code is contributed by rag2127
</script>
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<bits/stdc++.h>
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




<?php
// PHP program to find sum
// of matrix except cell (x, y)
$R = 2;
$C = 3;
 
// Returns sum of $arr[][]
// except cell $arr[$x][$y]
function calcSum(&$arr, $x, $y)
{
    global $R,$C;
    $sum = 0;
    for ($i = 0; $i < $R; $i++)
        for ($j = 0; $j < $C; $j++)
            $sum = $sum + $arr[$i][$j];
 
    return $sum - $arr[$x][$y];
}
 
// Driver code
$x = 0;
$y = 2;
$arr= array(array(1, 2, 4 ),
            array(5, 6, 8 ));
 
echo (calcSum($arr, $x, $y));
 
// This code is contributed
// by ChitraNayal
?>

Javascript




<script>
 
// Javascript program to find sum of matrix except
// cell (x, y)
 
    // Returns sum of arr[][] except cell arr[x][y]
    function calcSum(arr,x,y)
    {
        let sum = 0;
        for (let i = 0; i < arr.length; i++)
            for (let j = 0; j < arr[i].length; j++)
                sum = sum + arr[i][j];
  
        return sum - arr[x][y];
    }
     
    let x = 0, y = 2;
    let arr = [[1, 2, 4 ],
       [5, 6, 8 ]];
 
    document.write(calcSum(arr, x, y));
     
     
 
// This code is contributed by avanitrachhadiya2155
 
</script>
Output: 
22

 

Attention reader! Don’t stop learning now. Join the First-Step-to-DSA Course for Class 9 to 12 students , specifically designed to introduce data structures and algorithms to the class 9 to 12 students




My Personal Notes arrow_drop_up
Recommended Articles
Page :