Dada una array arr[] de tipo string que consta de strings “+”, “-” y Números. Encuentre la suma de la array dada.
Ejemplos:
Input : arr[] = {"3", "+", "4", "-", "7", "+", "13"} Output : Value = 13 The value of expression 3+4-7+13 is 13. Input : arr[] = { "2", "+", "1", "-8", "+", "13"} Output : Value = 8
Enfoque:
1) En primer lugar, inicialice la suma, es decir, suma = 0.
2) Comience a recorrer la array.
3) Como hay una string de números en cada posición par de la array, convierta esta string en un número entero y almacénela en un valor variable usando la función stoi en C++ .
4) Como hay un operador en cada posición impar, verifique si el operador es ‘+’ o ‘-‘. Si es ‘+’, agregue el valor a la suma, de lo contrario reste de la suma.
5) Finalmente, devolver la suma obtenida.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find sum of given array of // string type in integer form #include <bits/stdc++.h> using namespace std; // Function to find the sum of given array int calculateSum(string arr[], int n) { // if string is empty if (n == 0) return 0; string s = arr[0]; // stoi function to convert // string into integer int value = stoi(s); int sum = value; for (int i = 2; i < n; i = i + 2) { s = arr[i]; // stoi function to convert // string into integer int value = stoi(s); // Find operator char operation = arr[i - 1][0]; // If operator is equal to '+', // add value in sum variable // else subtract if (operation == '+') sum += value; else sum -= value; } return sum; } // Driver Function int main() { string arr[] = { "3", "+", "4", "-", "7", "+", "13" }; int n = sizeof(arr) / sizeof(arr[0]); cout << calculateSum(arr, n); return 0; }
Java
// Java program to find sum of given array of // string type in integer form import java.io.*; class GFG { // Function to find the sum of given array public static int calculateSum(String arr[], int n) { // if string is empty if (n == 0) return 0; String s = arr[0]; // parseInt function to convert // string into integer int value = Integer.parseInt(s); int sum = value; for (int i = 2; i < n; i = i + 2) { s = arr[i]; // parseInt function to convert // string into integer value = Integer.parseInt(s); // Find operator char operation = arr[i - 1].charAt(0); // If operator is equal to '+', // add value in sum variable // else subtract if (operation == '+') sum += value; else sum -= value; } return sum; } // Driver code public static void main (String[] args) { String arr[] = { "3", "+", "4", "-", "7", "+", "13" }; int n = arr.length; System.out.println( calculateSum(arr, n)); } } // This code in contributed by Upendra bartwal
Python 3
# Python3 program to find sum of given # array of string type in integer form # Function to find the sum of given array def calculateSum(arr, n): # if string is empty if (n == 0): return 0 s = arr[0] # stoi function to convert # string into integer value = int(s) sum = value for i in range(2 , n, 2): s = arr[i] # stoi function to convert # string into integer value = int(s) # Find operator operation = arr[i - 1][0] # If operator is equal to '+', # add value in sum variable # else subtract if (operation == '+'): sum += value else: sum -= value return sum # Driver Function arr = ["3", "+", "4", "-","7", "+", "13"] n = len(arr) print(calculateSum(arr, n)) # This code is contributed by Smitha
C#
// C# program to find sum of given array of // string type in integer form using System; class GFG { // Function to find the sum of given array public static int calculateSum(string []arr, int n) { // if string is empty if (n == 0) return 0; string s = arr[0]; // parseInt function to convert // string into integer int value = int.Parse(s); int sum = value; for (int i = 2; i < n; i = i + 2) { s = arr[i]; // parseInt function to convert // string into integer value = int.Parse(s); // Find operator char operation = arr[i - 1][0]; // If operator is equal to '+', // add value in sum variable // else subtract if (operation == '+') sum += value; else sum -= value; } return sum; } // Driver code public static void Main () { string []arr = { "3", "+", "4", "-", "7", "+", "13" }; int n = arr.Length; Console.Write(calculateSum(arr, n)); } } // This code in contributed by nitin mittal.
PHP
<?php // php program to find sum of given // array of string type in integer form // Function to find the // sum of given array function calculateSum($arr,$n) { // if string is empty if ($n == 0) return 0; $s = $arr[0]; // stoi function to convert // string into integer $value = (int)$s; $sum = $value; for ($i = 2; $i < $n; $i = $i + 2) { $s = $arr[$i]; // cast to convert // string into integer $value = (int)$s; // Find operator $operation = $arr[$i - 1]; // If operator is equal to '+', // add value in sum variable // else subtract if ($operation == '+') $sum += $value; else if ($operation == '-') $sum -= $value; } return $sum; } // Driver code $arr = array("3", "+", "4", "-", "7", "+", "13" ); $n = sizeof($arr) / sizeof($arr[0]); echo calculateSum($arr, $n); // This code is contributed by mits ?>
Javascript
<script> // Javascript program to find sum of given array of // string type in integer form // Function to find the sum of given array function calculateSum(arr, n) { // if string is empty if (n == 0) return 0; let s = arr[0]; // parseInt function to convert // string into integer let value = parseInt(s); let sum = value; for (let i = 2; i < n; i = i + 2) { s = arr[i]; // parseInt function to convert // string into integer value = parseInt(s); // Find operator let operation = arr[i - 1][0]; // If operator is equal to '+', // add value in sum variable // else subtract if (operation == '+') sum += value; else sum -= value; } return sum; } let arr = [ "3", "+", "4", "-", "7", "+", "13" ]; let n = arr.length; document.write(calculateSum(arr, n)); // This code is contributed by vaibhavrabadiya117. </script>
Producción :
13
Complejidad temporal: O(n)
Espacio auxiliar: O(1)