Can you please help me identify what this problem is asking for other than the part that it is a stack? Problem 1: Use a stack implementation, to check that a given an arithmetic expression, that uses braces “{“ & ”}” or parenthesis ”(“ &, ”)” or brackets ”[“ & ”]” as grouping symbols, is using them in a matching and balanced way. The book has an example function, called isBalance( ), that takes the input string as an argument and returns 0 if it is unbalanced or 1 if it is balanced. (Examples below are given only for illustrative purposes, you may come up with your own.) Example outputs: Input: exp = "[ ( ) ] { } { [ ( ) ( ) ] ( ) }" Output: Balanced Input: exp = "[ ( ] )" Output: Not Balanced Expressions used to satisfy this program: 14 * (6 + 5) A - (C + B) / [12 * D] [8 + (38 - 14) - 10] + 12 ( 9 / 5 ) * celsius + 32
Can you please help me identify what this problem is asking for other than the part that it is a stack?
Problem 1:
Use a stack implementation, to check that a given an arithmetic expression, that uses braces “{“ & ”}” or parenthesis ”(“ &, ”)” or brackets ”[“ & ”]” as grouping symbols, is using them in a matching and balanced way.
The book has an example function, called isBalance( ), that takes the input string as an argument and returns 0 if it is unbalanced or 1 if it is balanced.
(Examples below are given only for illustrative purposes, you may come up with your own.)
Example outputs:
Input: exp = "[ ( ) ] { } { [ ( ) ( ) ] ( ) }"
Output: Balanced
Input: exp = "[ ( ] )"
Output: Not Balanced
Expressions used to satisfy this program:
- 14 * (6 + 5)
- A - (C + B) / [12 * D]
- [8 + (38 - 14) - 10] + 12
- ( 9 / 5 ) * celsius + 32
Below is the C++ program: -
Approach: -
In the given program there are two boolean methods check_pair and isBalance. The method check_pair will return true (1) for each statement when the pair is matched otherwise returned false.
The method isBalance returns true if the stack is empty after deleting the brackets when any right bracket is found. Otherwise it returns false if the stack is already empty or the pairs of individual braces are not matched.
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images