Source: Dr. G T Raju, Professor & Head, Dept. of CSE, RNSIT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #define SIZE 50 /* Size of Stack */ #include <ctype.h> char s[SIZE]; int top=-1; /* Global declarations */ push(char elem) { /* Function for PUSH operation */ s[++top]=elem; } char pop() { /* Function for POP operation */ return(s[top--]); } int pr(char elem) { /* Function for precedence */ switch(elem) { case '#': return 0; case '(': return 1; case '+': case '-': return 2; case '*': case '/': return 3; } } main() { /* Main Program */ char infx[50],pofx[50],ch,elem; int i=0,k=0; printf("\n\nRead the Infix Expression ? "); scanf("%s",infx); push('#'); while( (ch=infx[i++]) != '\0') { if( ch == '(') push(ch); else if(isalnum(ch)) pofx[k++]=ch; else if( ch == ')') { while( s[top] != '(') pofx[k++]=pop(); elem=pop(); /* Remove ( */ } else { /* Operator */ while( pr(s[top]) >= pr(ch) ) pofx[k++]=pop(); push(ch); } } while( s[top] != '#') /* Pop from stack till empty */ pofx[k++]=pop(); pofx[k]='\0'; /* Make pofx as valid string */ printf("\n\nGiven Infix Expn: %s Postfix Expn: %s\n",infx,pofx); } |
Related Articles
12 Responses to “C Program for Infix to Postfix Conversion”
Leave a Reply
ok…………….
working pogram with no errors
dj program
thanks…no error…..solved my all chaos and confusion
Lund le mera!
Thanku so much for this program. Comparatively hard problem solved easily. Can’t be simpler. Great.
Chinmay Pornography*
Gand morning!
Javascript implementation for infix to postfix conversion
http://www.oyewiki.com/datastructure/infix-to-postfixConversion-using-stack-in-javascript
Gandu C me bola to Javascript me likhenga kya?
Bhosdike hepal mat jyada!
THANKS SIR
raat ko game hai
It is simple when compared to book program
-tysm sir