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



Infix to postfix:-

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