Skip to main content

Postfix Evaluation(Single or Multi Digit) using STACK in C


POSTFIX EVALUATION WITH SINGLE OR MULTI DIGIT:

Students find difficulties in finding the correct code for Postfix evaluation using Stack which works for Single as well for multidigit also;

So here is the Question Format Given::-

Question_2; Data_Structure:
 Write a C program to evaluate the following POSTFIX expression. Use STACK to solve this problem. 
  • INPUT: 5 6 2 + * 12 4 / - 
  • OUTPUT: 37
Basic Understanding:

Here is the Correct code:

#include <stdio.h>
#include <ctype.h>
#define SIZE 50
int s[SIZE];
int top=-1;
int flag=0;
int pop()
{
return(s[top--]);
}
int push(int elem)
{
if(flag==1){
int num;
num=pop();
s[++top]=elem+10*num;
}
else if(flag==0){
s[++top]=elem;
flag=1;
}
}
int main()
{
char pofx[50],ch;
int i=0,op1,op2;
printf("Enter the Postfix Expression:");
fgets(pofx,100,stdin);
while( (ch=pofx[i++]) != '\n')
{
if(isdigit(ch)) push(ch-'0');
else if(ch==' ')
flag=0;
else
{
flag=0;
op2=pop();
op1=pop();
switch(ch)
{
case '+':push(op1+op2);break;
case '-':push(op1-op2);break;
case '*':push(op1*op2);break;
case '/':push(op1/op2);break;
default:
printf("Input invalid ... give proper input\n");
return 0;
}
}
}
printf("Result: %d\n",s[top]);
}




Comments

Post a Comment

Popular posts from this blog

STACK in C

IMPLEMENTATION OF STACK USING ARRAY Here is Example of Source Code of Data Structure-1, Question 1: Data_structure :  Write a C program to implement STACK using an array. This program must include the following functions in it. Write a function for “Push” operation.   Write a function for “Pop” operation.  Write a function for “Display” operation which prints the content of the STACK.    Basic Understanding : Push and Pop Operation: Here is How to Implement:                                                   

Combinatorics For Programmers and Coders

Hey! Computer Geeks! Here we will discuss two or more special numbers that made the way of coding easy, Introduction to Catalan Numbers: The Catalan numbers are a sequence of positive integers that appear in many counting problems in combinatorics. They count certain types of lattice paths, permutations, binary trees, and many other combinatorial objects. They satisfy a fundamental recurrence relation and have a closed-form formula in terms of binomial coefficients. The Catalan number Cn describes, among other things: The number of binary trees with n nodes, The number of ways in which parentheses can be placed in a sequence of n+ 1 numbers to be multiplied two at a time, The number of well-formed reverse Polish expressions with n operands and n + 1 operators, The number of paths in a grid from (0, 0) to (n, n), increasing just one coordinate by one at each step, without crossing the main diagonal,  The number of n-bit sequences that the number of 1s never exceeds the n...