# Find the missing value from the given equation a + b = c

Given an equation of the form:

a + b = c

Out of which any **one** of the terms , or is missing. The task is to find the missing term.

**Examples**:

Input: 2 + 6 = ? Output: 8 Input: ? + 3 =6 Output: 3

**Approach: ** Missing number can be found simply using the equation . First, we will find two known numbers from the given equation(read as a string in the program) and convert them into integers and put into the equation. In this way, we can find the third missing number. We can implement it by storing the equation into the string.

Below is the step by step algorithm:

- Split the string into smaller strings from the position of spaces and store in an array. So that the array will contain:
arr[0] = "a" arr[1] = "+" arr[2] = "b" arr[3] = "=" arr[4] = "c"

- The missing character can occur at the position 0 or 2 or 4 in the vector. Find the position of missing character.
- Convert known characters to integer.
- Find missing character using the equation.

Below is the implementation of the above approach:

`// CPP program to find the missing number ` `// in the equation a + b = c ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find the missing number ` `// in the equation a + b = c ` `int` `findMissing(string str) ` `{ ` ` ` `// Array of string to store individual strings ` ` ` `// after splitting the strings from spaces ` ` ` `string arrStr[5]; ` ` ` ` ` `// Using stringstream to read a string object ` ` ` `// and split ` ` ` `stringstream ss(str); ` ` ` ` ` `int` `i = 0; ` ` ` ` ` `while` `(ss.good() && i < 5) { ` ` ` `ss >> arrStr[i]; ` ` ` `++i; ` ` ` `} ` ` ` ` ` `int` `pos = -1; ` ` ` ` ` `// Find position of missing character ` ` ` `if` `(arrStr[0] == ` `"?"` `) ` ` ` `pos = 0; ` ` ` `else` `if` `(arrStr[2] == ` `"?"` `) ` ` ` `pos = 2; ` ` ` `else` ` ` `pos = 4; ` ` ` ` ` `if` `(pos == 0) ` ` ` `{ ` ` ` `string b,c; ` ` ` `b = arrStr[2]; ` ` ` `c = arrStr[4]; ` ` ` ` ` `// Using stoi() to convert strings to int ` ` ` `int` `a = stoi(c) - stoi(b); ` ` ` ` ` `return` `a; ` ` ` `} ` ` ` `else` `if` `(pos==2) ` ` ` `{ ` ` ` `string a,c; ` ` ` `a = arrStr[0]; ` ` ` `c = arrStr[4]; ` ` ` ` ` `// Using stoi() to convert strings to int ` ` ` `int` `b = stoi(c) - stoi(a); ` ` ` ` ` `return` `b; ` ` ` `} ` ` ` `else` `if` `(pos == 4) ` ` ` `{ ` ` ` `string b,a; ` ` ` `a = arrStr[0]; ` ` ` `b = arrStr[2]; ` ` ` ` ` `// Using stoi() to convert strings to int ` ` ` `int` `c = stoi(a) + stoi(b); ` ` ` ` ` `return` `c; ` ` ` `} ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `// Equation with missing value ` ` ` `string str = ` `"? + 3 = 7"` `; ` ` ` ` ` `cout<<findMissing(str); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

**Output:**

4