php hit counter

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
CS301 Data Structures assignment no 1 spring 25 October 2011
VU Help • House Banner VU Help Virtual University Students - Assignments, Solved Papers, GDB & Exam Help Student Help Forum • Collaborative • Free Support
#12
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
class expression
{
private:
char infix[100];
char stack[200];
int first;
int r;
char postfix[100];
public:
void convert();
int input_p(char);
int stack_p(char);
int rank(char);
};
int expression::input_p(char c)
{
if(c=='+' || c=='-')
return 1;
else if(c=='*' || c=='/')
return 3;
else if(c=='^')
return 6;
else if(isalpha©!=0)
return 7;
else if(c=='(')
return 9;
else if(c==')')
return 0;
else
{
cout<<"Invalid expression ::input error\n";
exit(0);
}
}
int expression:Confusedtack_p(char c)
{
if(c=='+' || c=='-')
return 2;
else if(c=='*' || c=='/')
return 4;
else if(c=='^')
return 5;
else if(isalpha©!=0)
return 8;
else if(c=='(')
return 0;
else
{
cout<<"Invalid expression :Confusedtack error\n";
exit(0);
}
}
int expression::rank(char c)
{
if(c=='+' || c=='-')
return -1;
else if(c=='*' || c=='/')
return -1;
else if(c=='^')
return -1;
else if(isalpha©!=0)
return 1;
else
{
cout<<"Invalid expression ::in rank\n";
exit(0);
}
}
void expression::convert()
{
cout<<"\n*************************************************\n"
<<"This program converts the given infix expression\n"
<<"in to postfix form"
<<"\n*************************************************\n";
cout<<"Enter an infix expression ::\n";
cin>>infix;
int l=strlen(infix);
infix[l]=')';
infix[l+1]=";
//Convertion starts
first=1;
stack[first]='(';
r=0;
int x=-1;
int i=0;
char next=infix[i];
while(next!=")
{
//Pop all the elements to outputin stack which have higher precedence
while( input_p(next) < stack_p(stack[first]) )
{
if(first<1)
{
cout<<"invalid expression :Confusedtack error\n";
exit(0);
}
postfix[++x]=stack[first];
first-;
r=r+rank(postfix[x]);

if(r<1)
{
cout<<"Invalid expression ::r<1\n";
exit(0);
}
}
if(input_p( next ) != stack_p( stack[first]))
stack[++first]=next;
else
first-;
i++;
next=infix[i];
}
postfix[++x]=";
if(r!=1 || first!=0)
{
cout<<"Invalid expression ::error in rank or stack\n";
exit(0);
}
cout<<"\n\nThe corresponding postfix expression is ::\n";
cout<<postfix<<endl;
}
int main()
{
expression obj;
obj.convert();
return 0;
Reply


Messages In This Thread
CS301 Data Structures assignment no 1 spring 25 October 2011 - by makyle - 11-02-2011, 04:27 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  CS301 Assignment # 4 Due Date: 02-Feb-2016 Vuhelper 0 2,380 02-03-2016, 05:38 PM
Last Post: Vuhelper
  CS703 – Advanced Operating Systems Assignment No.3 solution January 2016 Vuhelper 0 5,972 01-23-2016, 09:58 PM
Last Post: Vuhelper
  CS601 Data Communication Assignment No. 03 Solution 23rd January 2016 Vuhelper 1 2,008 01-23-2016, 06:09 PM
Last Post: Vuhelper
  CS403 Assignment No. 03 Solution 23rd January 2016 Vuhelper 2 1,252 01-23-2016, 03:18 PM
Last Post: Vuhelper
  CS506 Web Design and Development Assignment no 3 Solution 3rd January 2016 Vuhelper 0 2,310 01-23-2016, 03:16 PM
Last Post: Vuhelper
  CS724 Software Process Improvement Assignment No 01 Solution 20th January 2016 Vuhelper 0 2,036 01-20-2016, 06:26 PM
Last Post: Vuhelper
  CS711 Software Design Assignment No 01 Solution Due Date Feb 12, 2016 Vuhelper 0 1,730 01-20-2016, 06:24 PM
Last Post: Vuhelper
  CS709 Formal Methods for Software Engineering Assignment No 01 Solution January 2016 Vuhelper 0 1,866 01-20-2016, 06:22 PM
Last Post: Vuhelper
  cs703 assignment no 3 Solution 20th January 2016 Vuhelper 0 1,766 01-20-2016, 06:20 PM
Last Post: Vuhelper
  CS704 Assignment No. 01 Solution January 2016 Vuhelper 0 4,867 01-20-2016, 06:19 PM
Last Post: Vuhelper

Forum Jump:


Users browsing this thread: 1 Guest(s)
VU Help • House Banner VU Help Virtual University Students - Assignments, Solved Papers, GDB & Exam Help Student Help Forum • Collaborative • Free Support