Categories
- 4th semester (27)
- 5th semester (3)
- ADA (13)
- Assembly Level Language (12)
- BE (45)
- C Language Programming (5)
- C language (20)
- C++ Language (5)
- CCP Lab programing (3)
- Computer Programming Lab (3)
- DAA Lab Programming (13)
- Data Structure and C++ laboratory Program (6)
- Data Structure and C++ labotary Program (5)
- Design and Analysis of algorithm (14)
- First Year (5)
- MASM (12)
- Microprocessor (12)
- Microprocessor lab program (12)
- System Software & OS Laboratory (5)
- Unix program (4)
- bachelor of engineering (30)
- basic (1)
- basic mathematics (2)
- beginners (10)
- c++ program (9)
- calculations (7)
- computer science (30)
- downloadable (5)
- engineering syllabus (4)
- simple program (6)
Trend Posts
Blogger news
Author
Followers
Showing posts with label infix to postfix. Show all posts
Showing posts with label infix to postfix. Show all posts
Sunday, September 15, 2013
Design,develop and execute a program in C to execute a validpostfix expression using stack. Assume that the postfix expression isread as a single line consisting of non-negative single digit operandsand binary arithematic operators.The arithematic operators are +(add),-(subtract),*(multiply) and /(add).
CLICK HERE TO DOWNLOAD PROGRAM FILE NOW!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void infix_postfix(char[],char[]);
char s[30];
int top=-1;
void push(char elem)
{
s[++top]=elem;
}
char pop()
{
return(s[top--]);
}
void main()
{
char infix[20];
char postfix[20];
clrscr();
printf("Enter a valid infix expression\n");
gets(infix);
infix_postfix(infix, postfix);
printf("The postfix expression is\n");
puts(postfix);
getch();
}
void infix_postfix(char infix[],char postfix[])
{
int j;
int i;
char symbol,x;
push('#');
j=0;
for(i=0;i<strlen(infix);i++)
{
symbol=infix[i];
switch(symbol)
{
case'(':
push(symbol);
break;
case ')':
while(s[top]!='(')
{
postfix[j++]=pop();
}
x=pop();
break;
case'/':
case'*':
case'+':
case'-': while(isp(s[top])>=icp(symbol))
{
postfix[j]=pop();
j++;
}
push(symbol);
break;
default:
postfix[j++]=symbol;
break;
}
}
while(s[top]!='#')
{
postfix[j++]=pop();
}
postfix[j]='\0';
}
int isp(char symbol)
{
switch(symbol)
{
case '/':
case '*':return (3);
case '+':
case '-':return (2);
case ')':
case '(':return (1);
case '#':return (-1);
default :return (0);
}
}
int icp(char symbol)
{
switch(symbol)
{
case'/':
case'*':return (3);
case'+':
case'-':return (2);
case'#':return (-1);
default:return (0);
}
}
------
/*Program Ends*/
CLICK HERE TO DOWNLOAD PROGRAM FILE NOW!
Subscribe to:
Posts (Atom)