c program :
#include<stdio.h>
char gloam[50],t,*a,u[200],s,i,f ;
int top =-1 ;
void push(char t){
gloam[++top]= t;
}
char pop(){
if(top== -1)
return -1;
else
return gloam[top--];
}
int priority(char t){
if(t == '(')
return 0 ;
if(t == '+' || t == '-')
return 1;
if(t == '*'|| t == '/')
return 2;
}
int main()
{
printf("enter your expression :");
scanf("%s",&u);
a = u;
while(*a != '\0')
{
if(isalnum(*a))
printf("%c",*a);
else if(*a =='(')
push(*a);
else if (*a == ')'){
while((t = pop()) != '(')
printf("%c",t);
}
else{
while(priority(gloam[top]) >= priority(*a))
printf("%c",pop());
push(*a) ;
}
a++ ;
}
while (top != -1)
{
printf("%c", pop());
}
}
Comments