php hit counter

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
CS301 Data Structure fall 2010 second assignment final idea solution
VU Help • House Banner VU Help Virtual University Students - Assignments, Solved Papers, GDB & Exam Help Student Help Forum • Collaborative • Free Support
#5
IDEA Solution of cs301 second assignment
Code:
#include<iostream.h> #include<string.h> #include<stdlib.h> #include<ctype.h> class expression { private: char infix[100]; char stack[200]; int top; 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(c)!=0) return 7; else if(c==’(‘) return 9; else if(c==’)') return 0; else { cout<<”Invalid expression ::input error\n”; exit(0); } } int expression::stack_p(char c) { if(c==’+’ || c==’-') return 2; else if(c==’*’ || c==’/') return 4; else if(c==’^') return 5; else if(isalpha(c)!=0) return 8; else if(c==’(‘) return 0; else { cout<<”Invalid expression ::stack 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(c)!=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 top=1; stack[top]=’(‘; 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[top]) ) { if(top<1) { cout<<”invalid expression ::stack error\n”; exit(0); } postfix[++x]=stack[top]; top–; r=r+rank(postfix[x]); if(r<1) { cout<<”Invalid expression ::r<1\n”; exit(0); } } if(input_p( next ) != stack_p( stack[top])) stack[++top]=next; else top–; i++; next=infix[i]; } postfix[++x]=”; if(r!=1 || top!=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 Structure fall 2010 second assignment final idea solution - by Xpert - 11-23-2010, 05:01 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  CS301 Assignment # 4 Due Date: 02-Feb-2016 Vuhelper 0 2,389 02-03-2016, 05:38 PM
Last Post: Vuhelper
  CS703 – Advanced Operating Systems Assignment No.3 solution January 2016 Vuhelper 0 5,984 01-23-2016, 09:58 PM
Last Post: Vuhelper
  CS601 Data Communication Assignment No. 03 Solution 23rd January 2016 Vuhelper 1 2,014 01-23-2016, 06:09 PM
Last Post: Vuhelper
  CS403 Assignment No. 03 Solution 23rd January 2016 Vuhelper 2 1,260 01-23-2016, 03:18 PM
Last Post: Vuhelper
  CS506 Web Design and Development Assignment no 3 Solution 3rd January 2016 Vuhelper 0 2,313 01-23-2016, 03:16 PM
Last Post: Vuhelper
  CS724 Software Process Improvement Assignment No 01 Solution 20th January 2016 Vuhelper 0 2,042 01-20-2016, 06:26 PM
Last Post: Vuhelper
  CS711 Software Design Assignment No 01 Solution Due Date Feb 12, 2016 Vuhelper 0 1,738 01-20-2016, 06:24 PM
Last Post: Vuhelper
  CS709 Formal Methods for Software Engineering Assignment No 01 Solution January 2016 Vuhelper 0 1,873 01-20-2016, 06:22 PM
Last Post: Vuhelper
  cs703 assignment no 3 Solution 20th January 2016 Vuhelper 0 1,768 01-20-2016, 06:20 PM
Last Post: Vuhelper
  CS704 Assignment No. 01 Solution January 2016 Vuhelper 0 4,874 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