![Starting Out With C++: Early Objects (10th Edition)](https://www.bartleby.com/isbn_cover_images/9780135235003/9780135235003_smallCoverImage.jpg)
Starting Out With C++: Early Objects (10th Edition)
10th Edition
ISBN: 9780135235003
Author: Tony Gaddis, Judy Walters, Godfrey Muganda
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 18, Problem 10PC
Program Plan Intro
Balanced Parentheses
Program Plan:
- Include required header files
- Declare function prototype
- Inside “main ()” function,
- Declare a variable “strng”.
- Get a string from the user.
- Check if the Boolean function “is_Balanced ()” returns true.
- If the condition is true then the string has balanced parentheses.
- If the condition is not true then the string does not have balanced parentheses.
- In “is_Balanced ()” function,
- Declare a Boolean variable “status”.
- Create an object for stack.
- Use for loop to step through each character in a string.
- Use Switch…Case structure check the character has set of parentheses or not.
- If left parenthesis is detected,
- Push it into the stack using the function “push ()”.
- If right parenthesis is detected,
- Check if the stack is empty using the function “empty()”.
- If the stack is empty then assign “false”
- If the stack is not empty then assign “true”
- Check if the stack is empty using the function “empty()”.
- If left parenthesis is detected,
- Use Switch…Case structure check the character has set of parentheses or not.
- Check if the stack is empty and assign “true”. Else, assign “false”.
- Return the variable “status”.
Expert Solution & Answer
![Check Mark](/static/check-mark.png)
Want to see the full answer?
Check out a sample textbook solution![Blurred answer](/static/blurred-answer.jpg)
Students have asked these similar questions
A set of instructions may be used to show a function's return address. Remember that any modifications you make to the stack cannot prevent the procedure from returning to its caller.
Create a C code that will allow the user to input a word and check whether it is a palindrome or not.
Use a stack to reverse the order of a string and identify whether it is a palindrome or not. It should not be case-sensitive.
Example 1:
Input string: Racecar
Reversed string: RACECAR (Note, this can also be all lowercase)
Palindrome: Yes
exampl 2:
Input string:caRrot
Reversed string: TORRAC(Note, this can also be all lowercase)
Palindrome: No
Note: maximum string length is 20
7. The following function converts a postfix expression to an infix expression assuming the
expression can only contain unsigned integer numbers and +' and -' operators.
1. public static String convert (String postfix) {
2.
String operand1, operand2, infix;
3.
Stack s = new AStack;
4.
int i = 0;
5.
while (i < postfix.length) {
char nextc = postfix.charAt (i);
if ((nextc
6.
7.
'+')|| (nextc == '-') {
==
operand2 = s.pop (); operandl = s.pop () ;
infix = '(' + operandl + nextc + operand2 + ')';
s.push (infix); i++;
8.
9.
10.
11.
}
12.
else if (Character.isDigit (nextc)){
int start = i;
while (Character.isDigit (postfix.charAt (i)) i++;
infix = postfix.substring (start, i);
s.push (infix);
13.
14.
15.
16.
17.
}
else i++;
18.
19.
}
20
return s.pop () ;
21. }
(a) Rewrite only the lines of code that need to be changed so that the above function converts a
postfix expression to a prefix expression.
(b) Describe in words what changes are needed on the above given convert () function so that it…
Chapter 18 Solutions
Starting Out With C++: Early Objects (10th Edition)
Ch. 18.3 - Describe what LIFO means.Ch. 18.3 - What is the difference between static and dynamic...Ch. 18.3 - What are the two primary stack operations?...Ch. 18.3 - What STL types does the STL stack container adapt?Ch. 18 - Prob. 1RQECh. 18 - Prob. 2RQECh. 18 - What is the difference between a static stack and...Ch. 18 - Prob. 4RQECh. 18 - The STL stack is considered a container adapter....Ch. 18 - What types may the STL stack be based on? By...
Ch. 18 - Prob. 7RQECh. 18 - Prob. 8RQECh. 18 - Prob. 9RQECh. 18 - Prob. 10RQECh. 18 - Prob. 11RQECh. 18 - Prob. 12RQECh. 18 - Prob. 13RQECh. 18 - Prob. 14RQECh. 18 - Prob. 15RQECh. 18 - Prob. 16RQECh. 18 - Prob. 17RQECh. 18 - Prob. 18RQECh. 18 - Prob. 1PCCh. 18 - Prob. 2PCCh. 18 - Prob. 3PCCh. 18 - Prob. 4PCCh. 18 - Prob. 5PCCh. 18 - Prob. 6PCCh. 18 - Prob. 7PCCh. 18 - Prob. 8PCCh. 18 - Prob. 14PCCh. 18 - Prob. 9PCCh. 18 - Prob. 10PCCh. 18 - Prob. 11PCCh. 18 - Prob. 12PCCh. 18 - Prob. 13PCCh. 18 - Prob. 15PC
Knowledge Booster
Similar questions
- Create a c code for this pls Use a stack to reverse the order of a string and identify whether it is a palindrome or not. It should not be case-sensitive. Example 1: Input string: Racecar Reversed string: RACECAR (Note, this can also be all lowercase) Palindrome: Yes Note: maximum string length is 20arrow_forwardStrings manipulation in C++ : Write a program to take input two strings and print the string that is smaller in length.arrow_forwardStacks 1- Write a Python function that takes a user input of a word and returns True if it is a Palindrome and returns False otherwise (Your function should use a Stack data structure). A palindrome is a word that can be read the same backward as forward. Some examples of palindromic words are noon, civic, radar, level, rotor, kayak, reviver, racecar, redder, madam, and refer. 2- Write a Python function that takes a stack of integer numbers and returns the maximum value of the numbers in the stack. The stack should have the same numbers before and after calling the function. 3- Write a main function that tests the functions you wrote in 1 and 2 above and make sure that your code is well documented.arrow_forward
- Exercise Objectives Problem Description Write a program that reads a string and mirrors it around the middle character. Examples: abcd becomes cdab. abcde becomes deCab AhmadAlami becomes AlamiAhmad Page 1 of 2 Your program must: • Implement function void reflect (char* str) which receives a string (array of characters) and mirrors it. This function does not print anything. • Read from the user (in main()) a string and then print the string after calling function reflect(). • Use pointers and pointer arithmetic only. The use of array notation and/or functions from the string.h library is not allowed.arrow_forward* This function evaluates the provided postfix expression. When an operand is encountered, it is added to the stack. When an operator is encountered, two operands are popped, the operation is evaluated, and the result is pushed to the stack.* @param expr string postfix expression representation * @return value of the supplied expressionarrow_forwardC++ Coding: Branching Write one line of code to print a random value between -10 and 22 inclusive.arrow_forward
- C# language Write a program that creates a Queue or Stack (your choice) that represents a list of work orders. This program should use loop, allowing the user to push and pop items on the stack / queue. The program should also allow the user to print all the items in the stack / queue to the console.arrow_forward1. Read input 5 integer values from the user and print them in the reverse order of their input using a stack data structure. Programming languages allowed: C++/JAVA/Pythonarrow_forward#include <stdlib.h>#include <string.h>#include <stdio.h>#include "stack.h" /* Checks whether the parenthesis in str are balanced using the stack. Returns 1, if balanced 0, if unbalanced An expression has balanced parenthesis if it satisfies the following conditions: 1. The first observed parenthesis cannot be a closing parenthesis 2. All opening parentheses should have matching closing parenthesis 3. The parentheses cannot be intertwined but can be nested*/int parenthesis_balance_check(LINKED_STACK stack, char* str); int main() { return 0;} PLEASE ONLY USE "C" LANGUAGE, DONT USE "C#" AND "C++"arrow_forward
- C++ Language: Write a C++ program to take input string str from the user and form a new string newstr that contains the first three and last three characters of string str. It is given that the length of str is always greater than 6.arrow_forwardStack using C++ programmijng language please Write a program to input an arithmetic expression, then 1. Match nested brackets found the expression, if they are matched correctly proceed to step 2.2. Evaluate the expression. Please not that the operands of the expression may contain more than one digit. just 3 function : 1.function to check the brackets 2.function from infix to postfix 3.function to evaluate the expression this is the cin of the arithmetic expression is : ((5+(6/2*3)-2)+1)= you can use this function also ::: struct node { int data; node *next; node(int d,node *n=0) { data=d; next=n; } }; class stack { node *topp; public: stack(); void push(int el); bool pop(); int top(); bool top(int &el); //~stack(); //void operator=(stack &o); //stack(stack &o); }; stack::stack() { topp=0; } void stack::push(int el) { topp=new node(el,topp); } bool stack::pop() { if(topp==0) return false; node *t=topp; topp=topp->next; delete t; return true; } int stack::top() {…arrow_forwardStack using C++ programmijng language please Write a program to input an arithmetic expression, then 1. Match nested brackets found the expression, if they are matched correctly proceed to step 2. 2. Evaluate the expression. Please not that the operands of the expression may contain more than one digit. just 3 function : 1.function to check the brackets 2.function from infix to postfix 3.function to evaluate the expression this is the cin of the arithmetic expression we will use : ((5+(6/2*3)-2)+1)= this will give you 13 and will go to next stage (5+(6/2*3)-2)+1)= this will give you missing open bracket ((5+(6/2*3)-2)+1= this will give you missing close bracketarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
![Text book image](https://www.bartleby.com/isbn_cover_images/9781337102087/9781337102087_smallCoverImage.gif)
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning