Untitled
unknown
plain_text
2 years ago
836 B
10
Indexable
//program to convert infix expression to postfix
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>>
char stack[20];
int top=-1;
void push(char c)
{
stack[++top]=c;
}
char pop()
{
if(top==-1)
return 1;
else
return stack[top--];
}
int priority(char x)
{
if(x=='(')
return 0;
if(x=='+'||x=='-')
return 1;
if(x=='*'||x=='/')
return 2;
}
int main()
{
char exp[20];
char *e,x;
printf("enter expression\n");
scanf("%s",exp);
e=exp;
while(*e!='\0')
{
if(isalnum(*e))
printf("%c",*e);
else if(*e=='(')
push(*e);
else if(*e==')')
{
while((x=pop())!='(')
printf("%c",x);}
else{
while(priority(stack[top])>=priority(*e))
printf("%c",pop());
push(*e);
}
e++;}
while(top!=-1)
{
printf("%c",pop());
} }
Editor is loading...