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
Blog Archive
-
▼
2013
(20)
-
▼
September
(10)
- Lab Program No:13|OCTAL IMPLEMENTATION Using Opera...
- Lab Program No:3|Evaluation of postfix Expression|...
- Simple program C++ program with Singleline Inherit...
- Simple C++ Program with Operator Overloading
- Simple C++ Programing with Paranthesised Constructors
- Simple C++ Program|To read and write to a File
- Program ( EMPLOYEE...)|Second Year Data structure/...
- Program ( INFIX to POSTFIX)|Second Year Data struc...
- Add two integers|Simple program
- Read an array and print
-
▼
September
(10)
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:
Post Comments (Atom)
0 comments:
Post a Comment
You are very Important to Us...
STAY TUNE...