Header Ads Widget

C PROGRAM: Program to convert infix to postfix using stack in C language - Sparsh Blog

 Ans:->




The program to convert infix to postfix using stack in C language -  Sparsh Blog


Program is as follows:--


#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;

        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());

        }

        return 0;

}



OUTPUT:---


Enter the expression : a+b*c+e/f


abc*+ef/+


THANKU FOR READING THIS ARTICLE ON-



If you want to suggest any changes in the program please feel free to contact us in the comment section or you can reach us using Contact us Page.






Post a Comment

0 Comments