C++ Write a program that takes as input an arithmetic expression followed by a semicolon ;. The program outputs whether the expression contains matching grouping symbols. For example, the arithmetic expressions {25 + (3 – 6) * 8} and 7 + 8 * 2 contains matching grouping symbols. However, the expression 5 + {(13 + 7) / 8 - 2 * 9 does not contain matching grouping symbols. If the expression contains matching grouping symbols, the program output should contain the following text: Expression has matching grouping symbol If the expression does not contain matching grouping symbols, the program output should contain the following text: Expression does not have matching grouping symbols

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 3PE
icon
Related questions
Question

C++

Write a program that takes as input an arithmetic expression followed by a semicolon ;.

The program outputs whether the expression contains matching grouping symbols.

For example, the arithmetic expressions {25 + (3 – 6) * 8} and 7 + 8 * 2 contains matching grouping symbols.

However, the expression 5 + {(13 + 7) / 8 - 2 * 9 does not contain matching grouping symbols.

If the expression contains matching grouping symbols, the program output should contain the following text:

Expression has matching grouping symbol

If the expression does not contain matching grouping symbols, the program output should contain the following text:

Expression does not have matching grouping symbols.

main.cpp
myStackh
stackA)Th
+
main.cpp
3 #1jnaеJ H_StackType
4 #define H_StackType
myStack.h
6 #include <iostream>
7 #include <cassert>
8
9 #include "stackADT.h"
10
11 using namespace std;
12
38
13 template <class Type>
14 class stackType: public stackADT<Type>
15 {
16 public:
17 const stackType<Type>& operator= (const stackType<Type>&);
18
19
void initializeStack();
bool isEmptyStack() const;
bool isFullStack() const;
stackADT.h
void push(const Type& newItem);
Type top() const;
void pop();
stackType(int stackSize = 100);
stackType(const stackType<Type>& otherStack);
~stackType();
template <class Type>
void stackType<Type>::initializeStack()
{
1}
stackTop = 0;
template <class Type>
bool stackType<Type>::1sEmptyStack() const
3 {
return(stackTop == 0);
>}
template <class Type>
bool stackType<Type>::isFullStack() const
H{
return(stackTop==maxStackSize);
3}
+
template <class Type>
void stackType<Type>::push(const Type& newItem)
}{
Instructions
Instructions
Write a program that takes as input an arithmetic expression followed by
a semicolon ;
The program outputs whether the expression contains matching
grouping symbols.
For example, the arithmetic expressions (25+ (3-6)* 8} and
7 + 8 * 2 contains matching grouping symbols.
However, the expression 5 + {(13 + 7) / 8 - 2* 9 does not
contain matching grouping symbols.
If the expression contains matching grouping symbols, the program
output should contain the following text:
Expression has matching grouping symbol
If the expression does not contain matching grouping symbols, the
program output should contain the following text:
Expression does not have matching grouping symbols.
main.cpp
myStack.h
1 //Header file: stackADT.h
2
3 #ifndef H_StackADT
4 #define H_StackADT
5
6 template <class Type>
7 class stackADT
8
9 public:
10
11
12
13
14
15
16
17
18
19
virtual void initializeStack() = 0;
virtual bool isEmptyStack() const = 0;
virtual bool isFullStack() const = 0;
virtual void push(const Type& newItem) = 0;
virtual Type top() const = 0;
stackADT.h
20
21
22
23
24
25 };
26
27 #endif
28
virtual void pop() = 0;
Transcribed Image Text:main.cpp myStackh stackA)Th + main.cpp 3 #1jnaеJ H_StackType 4 #define H_StackType myStack.h 6 #include <iostream> 7 #include <cassert> 8 9 #include "stackADT.h" 10 11 using namespace std; 12 38 13 template <class Type> 14 class stackType: public stackADT<Type> 15 { 16 public: 17 const stackType<Type>& operator= (const stackType<Type>&); 18 19 void initializeStack(); bool isEmptyStack() const; bool isFullStack() const; stackADT.h void push(const Type& newItem); Type top() const; void pop(); stackType(int stackSize = 100); stackType(const stackType<Type>& otherStack); ~stackType(); template <class Type> void stackType<Type>::initializeStack() { 1} stackTop = 0; template <class Type> bool stackType<Type>::1sEmptyStack() const 3 { return(stackTop == 0); >} template <class Type> bool stackType<Type>::isFullStack() const H{ return(stackTop==maxStackSize); 3} + template <class Type> void stackType<Type>::push(const Type& newItem) }{ Instructions Instructions Write a program that takes as input an arithmetic expression followed by a semicolon ; The program outputs whether the expression contains matching grouping symbols. For example, the arithmetic expressions (25+ (3-6)* 8} and 7 + 8 * 2 contains matching grouping symbols. However, the expression 5 + {(13 + 7) / 8 - 2* 9 does not contain matching grouping symbols. If the expression contains matching grouping symbols, the program output should contain the following text: Expression has matching grouping symbol If the expression does not contain matching grouping symbols, the program output should contain the following text: Expression does not have matching grouping symbols. main.cpp myStack.h 1 //Header file: stackADT.h 2 3 #ifndef H_StackADT 4 #define H_StackADT 5 6 template <class Type> 7 class stackADT 8 9 public: 10 11 12 13 14 15 16 17 18 19 virtual void initializeStack() = 0; virtual bool isEmptyStack() const = 0; virtual bool isFullStack() const = 0; virtual void push(const Type& newItem) = 0; virtual Type top() const = 0; stackADT.h 20 21 22 23 24 25 }; 26 27 #endif 28 virtual void pop() = 0;
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning