/* This code demostrate how a polynomial can be representaed by a linked list and then and combine the terms with same exponent a single polynomial Notes No data reading from file Data members are public author vmtom@iitb.ac.in date Tue Sep 20 18:20:31 IST 2005 */ #include #include class poly; class term { public: int expo; float val; public: term(){expo=0;val=0.0;} term(int e,float v) { expo=e;val=v; } void printC() { cout<expo=n->item->expo; item->val=n->item->val; } void printP() { if(item==NULL) return; item->printC(); } }; void main() { poly* prev=NULL; poly* cur=NULL; poly* lst=NULL; int cnt=5; int aval[5]; float bval[5]; aval[0]=9; bval[0]=2.0; aval[1]=4; bval[1]=2.0; aval[2]=4; bval[2]=2.0; aval[3]=4; bval[3]=2.0; aval[4]=5; bval[4]=2.0; for(int i=0;inext;cout.flush(); if(lst==NULL) { lst = cur; lst->setP(cur); cout<<"\nLst Add\t"<next;cout.flush(); } else if(prev!=NULL) { prev->next=cur; cout<<"\nPrv Add\t"<next;cout.flush(); } prev=cur; prev->setP(cur); cout<<"\nPrv Add\t"<next;cout.flush(); } poly* tmp=lst; cout<<"\n\nPolynimial:\t";cout.flush(); for(int i=0;iprintP(); cout << "\t+\t"; cout.flush(); tmp=tmp->next; } cout << "\n"; cout.flush(); tmp=lst; for(int i=0;iprintP(); tmp=tmp->next; } cout << "\n"; cout.flush(); cout<<"\n\nMax Pow:\t";cout.flush(); tmp=lst; int maxPow=-1; while(tmp!=NULL) { int j= tmp->item->expo; if(j>maxPow) { maxPow=j; } tmp=tmp->next; }; cout<-1) { tmp=lst; float cumCoeff=0.0; while(tmp!=NULL) { int j= tmp->item->expo; if(j==maxPow) cumCoeff+=tmp->item->val; tmp=tmp->next; }; if(fabs(cumCoeff)>0.0) cout<