Order of operations program gone crazy | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

Order of operations program gone crazy

I am working on a program to accept user determined number of math expressions in parentheses and then return the solution to them obeying order of ops i.e. (3+4) (2+3*3) would yield 7 and 11. I have it working at three max operations per problem but even that has gotten messy. Anyone have a suggestion how I could automate this better? Much appreciated any help! For now I just need it to accept +,-,*, and / https://code.sololearn.com/c1X81mdwkRnu

26th Jan 2020, 6:45 AM
Shay Christensen
Shay Christensen - avatar
2 Answers
+ 3
To solve this problem I would write a tokenizer first and than analyse the tokens. The tokenizer analyses the string for important keyword and symbols like '+' or '*' and stores them into a separate Array as tokens so that you can access the tokens more easily later. Than you could build a syntax tree where you take care of all the brackets and nesting. As last step you can the perform the actual calculation. That's probably the cleanest way to do it, compilers do basically the same as their first steps to analyse code. Here are two codes of mine that made use of tokenizing: https://code.sololearn.com/ca5Ue0VjwyH8/?ref=app https://code.sololearn.com/cRb9jV28jHDX/?ref=app
26th Jan 2020, 7:37 AM
Aaron Eberhardt
Aaron Eberhardt - avatar
+ 2
Check this out. Maybe this could help. https://www.sololearn.com/Discuss/2142606/?ref=app
26th Jan 2020, 8:09 AM
Mihai Apostol
Mihai Apostol - avatar