# Reversing an Equation

Given a mathematical equation using numbers/variables and +, -, *, /. Print the equation in reverse.

Examples:

```Input : 20 - 3 + 5 * 2
Output : 2 * 5 + 3 - 20

Input : 25 + 3 - 2 * 11
Output : 11 * 2 - 3 + 25

Input : a + b * c - d / e
Output : e / d - c * b + a
```

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

Approach : The approach to this problem is simple. We iterate the string from left to right and as soon we strike a symbol we insert the number and the symbol in the beginning of the resultant string.

 `// CPP program to reverse an equation ` `#include ` `using` `namespace` `std; ` ` `  `// Function to reverse order of words ` `string reverseEquation(string s) ` `{ ` `    ``// Resultant string ` `    ``string result; ` `    ``int` `j = 0; ` `    ``for` `(``int` `i = 0; i < s.length(); i++) { ` `         `  `        ``// A space marks the end of the word ` `        ``if` `(s[i] == ``'+'` `|| s[i] == ``'-'` `||  ` `            ``s[i] == ``'/'` `|| s[i] == ``'*'``) { ` `             `  `            ``// insert the word at the beginning ` `            ``// of the result string ` `            ``result.insert(result.begin(),  ` `                ``s.begin() + j, s.begin() + i); ` `            ``j = i + 1; ` `             `  `            ``// insert the symbol ` `            ``result.insert(result.begin(), s[i]); ` `        ``} ` `    ``} ` `     `  `    ``// insert the last word in the string  ` `    ``// to the result string ` `    ``result.insert(result.begin(), s.begin() + j,  ` `                                     ``s.end()); ` `    ``return` `result; ` `} ` ` `  `// driver code ` `int` `main() ` `{ ` `    ``string s = ``"a+b*c-d/e"``; ` `    ``cout << reverseEquation(s) << endl; ` `    ``return` `0; ` `} `

Output:

```e/d-c*b+a
```

This article is contributed by Raghav Sharma. 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.

My Personal Notes arrow_drop_up

Improved By : Akanksha_Rai

Article Tags :
Practice Tags :

3

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