My Profile
Active Members
TodayLast 7 Days
more...
Awards & Gifts
Online Exams
Fresher Jobs
Our fresher job section is exclusively for fresh graduates! Find jobs for freshers in major Indian
cities including Bangalore, Chennai, Hyderabad, Pune or Kochi
Resources
Find educational articles, blogs, discussion threads and other resources.
Colleges
Find details about any college in India or search for courses.
|
C program To convert Infix To Post Fix By using Shunting Yard Alogorithm
Posted Date:
Total Responses: 0
Posted By: Sunny Member Level: Diamond Points/Cash: 5
|
#include #define size 10
char stack[size]; int tos=0,ele; void push(); char pop(); void show(); int isempty(); int isfull(); char infix[30],output[30]; int prec(char); int main() { int i=0,j=0,k=0,length; char temp; printf("\nEnter an infix expression:"); scanf("%s",infix); printf("\nThe infix expresson is %s",infix); length=strlen(infix); for(i=0;i<= prec(stack[tos-1]) ) { temp=pop(); printf("\n the poped element is :%c",temp); output[j++]=temp; push(infix[i]); printf("\n The pushed element is :%c",infix[i]); show(); } else { push(infix[i]); printf("\nThe pushed element is:%c",infix[i]); show(); } } else { if(infix[i]=='(') { push(infix[i]); printf("\nThe pushed-- element is:%c",infix[i]); } if(infix[i]==')') { temp=pop(); while(temp!='(') {output[j++]=temp; printf("\nThe element added to Q is:%c",temp); //temp=pop(); printf("\n the poped element is :%c",temp); temp=pop();} } } } } printf("\nthe infix expression is: %s",output); } while(tos!=0) { output[j++]=pop(); } printf("the infix expression is: %s\n",output); } //Functions for operations on stack void push(int ele) { stack[tos]=ele; tos++; } char pop() { tos--; return(stack[tos]); } void show() { int x=tos; printf("--The Stack elements are....."); while(x!=0) printf("%c, ",stack[--x]); }
//Function to get the precedence of an operator int prec(char symbol) { if(symbol== '(') return 0; if(symbol== ')') return 0; if(symbol=='+' || symbol=='-') return 1; if(symbol=='*' || symbol=='/') return 2; if(symbol=='^') return 3; return 0; }
|
Project Feedbacks
|
No feedbacks found. Be the first to respond and make money from revenue sharing program.
|
|
|
| Post Feedback |
|
|
You must Sign In to post a feedback.
|
|
|
|
|
|