Skip to content

Priyansi/miscellaneous

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

#include<stdio.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());
}

}

About

Some cool questions and answers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages