Dada una array*m encuentre la suma de los elementos de la array sin el elemento especificado por su posición
Ejemplos:
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
Una solución simple es atravesar la array. Para cada celda visitada, verifique si es la celda a ignorar.
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>
Producción:
22
La solución anterior genera una comparación adicional para cada elemento de la array. Una mejor solución es encontrar primero la suma total y luego restar la celda dada.
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>
Producción:
22