#include using namespace std; class stack1 { int top; char stack2[100]; char infix[100]; public: stack1() { top = -1; } void infix1(); void check(); int check1(char tkn); void push(int x); int pop(); bool isEmpty(); bool isFull(); void display(); }; bool stack1::isEmpty() { if(top == -1) { return true; } else { return false; } } bool stack1::isFull() { if(top == 100 - 1) { return true; } else { return false; } } void stack1::push(int x) { if(!isFull()) { top++; stack2[top] = x; } else { cout<<"Stack is full!!\n"; } } int stack1::pop() { int x; if(!isEmpty()) { x = stack2[top]; top--; return x; } else { cout<<"Stack is empty!!\n"; } } int stack1::check1(char tkn) { if(isEmpty()) { return 0; } if(stack2[top] == '(') { if(tkn == ')') { return 1; } else { return 0; } } if(stack2[top] == '{') { if(tkn == '}') { return 1; } else { return 0; } } if(stack2[top] == '[') { if(tkn == ']') { return 1; } else { return 0; } } } void stack1::check() { char tkn; int x = 0; for(int i = 0; infix[i]!='\0'; i++) { tkn = infix[i]; if(tkn == '('||tkn == ')'||tkn == '['||tkn == ']'||tkn == '{'||tkn == '}') { if(tkn == '('||tkn == '['||tkn == '{') { push(tkn); } if(tkn == '}'||tkn == ']'||tkn == ')') { x = check1(tkn); if(x == 1) { pop(); } else { push(tkn); break; } } } } if(!isEmpty()) { cout<<"Equation is not paranthesized!!\n"; } else { cout<<"Equation is paranthesized!!\n"; } } void stack1::infix1() { cout<<"\nEnter infix expression(end expression with '#'): "; for(int i = 0; i < 100; i++) { cin>>infix[i]; if(infix[i] == '#') { infix[i] = '\0'; break; } } } void stack1::display() { for(int i = 0; infix[i]!= '\0'; i++) { cout<>ch; }while(ch == 1); return 0; }