Write a program to determine the possible location(s) of a missing symbol of enclosure given a mathematical representation of a string. Although spaces are used between characters for readability, the input string will have no spaces. All operands will be integers less than 1000, and the order of evaluation for the symbols is parentheses, brackets and then braces. For example: {[(2 + 3) * 6 / 10} - One bracket is missing. It could be correctly placed in several locations: {[(2 + 3)] * 6 / 10} -Location 8 {[(2 + 3) * 6] / 10} -Location 10 {[(2 + 3) * 6 / 10]} -Location 13
Write a program to determine the possible location(s) of a missing symbol of enclosure given a
mathematical representation of a string. Although spaces are used between characters for readability,
the input string will have no spaces. All operands will be integers less than 1000, and the order of
evaluation for the symbols is parentheses, brackets and then braces. For example:
{[(2 + 3) * 6 / 10} - One bracket is missing. It could be correctly placed in several locations:
{[(2 + 3)] * 6 / 10} -Location 8
{[(2 + 3) * 6] / 10} -Location 10
{[(2 + 3) * 6 / 10]} -Location 13
Input from the keyboard a string of characters with no spaces representing a mathematical expression.
The first position of the string will start at number 1. Each type of symbol of enclosure will be used at
most once, and each expression will have at least one missing symbol of enclosure. The operators used
will be: +, −, * and /. Single integers will never be enclosed. For each line of input list output to the
screen all the locations in the expression where the missing symbol of enclosure can be correctly placed
each separated by one space. Use a Stack data structure. Refer to the sample output below.
Sample Runs (2):
Enter an expression (no spaces): {[(2+3)*6/10}
Missing symbols at locations: 8 10 13
Enter an expression (no spaces): {32*510+(8/4)*2+43]/24}
Missing symbols at locations: 2 5 9 15
Trending now
This is a popular solution!
Step by step
Solved in 2 steps