Untitled

mail@pastecode.io avatarunknown
plain_text
a month ago
836 B
1
Indexable
Never
//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());
					
						}		}