0% found this document useful (0 votes)
2 views2 pages

1

The document provides a C program that converts an infix expression to a postfix expression using a stack data structure. It includes functions for pushing and popping elements from the stack, determining operator priority, and processing the input expression. The program reads an expression from the user, processes it, and outputs the corresponding postfix expression.

Uploaded by

bharati456
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views2 pages

1

The document provides a C program that converts an infix expression to a postfix expression using a stack data structure. It includes functions for pushing and popping elements from the stack, determining operator priority, and processing the input expression. The program reads an expression from the user, processes it, and outputs the corresponding postfix expression.

Uploaded by

bharati456
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

1.

Implement a Program in C for converting an Infix expression to Postfix Expression

#include<stdio.h> #include<ctype.h> char stack[100]; int top = -1;

void push(char x) { stack[++top] = x;

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;

return 0;

int main()

char exp[100]; char *e, x; clrscr();

printf("Enter the expression: "); scanf("%s",exp);

printf("\n");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());

getch(); return 0; }

You might also like