Design Problem-2 OF CSE-368
Design Problem-2 OF CSE-368
OF
CSE-368
B.tech (H)-CSE
Section:-A1810
Roll. No. 16
#include <stdio.h>
#define size 10
char stack[size];
int tos=0,ele;
void push();
char pop();
void show();
int isempty();
int isfull();
char infix[30],output[30];
int prec(char);
int main()
int i=0,j=0,k=0,length;
char temp;
scanf("%s",infix);
length=strlen(infix);
for(i=0;i<= prec(stack[tos-1]) )
temp=pop();
output[j++]=temp;
push(infix[i]);
show();
}
else
push(infix[i]);
show();
else
if(infix[i]=='(')
push(infix[i]);
if(infix[i]==')')
temp=pop();
while(temp!='(')
{output[j++]=temp;
//temp=pop();
temp=pop();}
}
}
while(tos!=0)
output[j++]=pop();
stack[tos]=ele;
tos++;
char pop()
tos--;
return(stack[tos]);
void show()
int x=tos;
while(x!=0)
printf("%c, ",stack[--x]);
}
//Function to get the precedence of an operator
if(symbol== '(')
return 0;
if(symbol== ')')
return 0;
if(symbol=='+' || symbol=='-')
return 1;
if(symbol=='*' || symbol=='/')
return 2;
if(symbol=='^')
return 3;
return 0;