#include <iostream.h> class poly { private : struct polynode { float coeff ; int exp ; polynode *link ; } *p ; public : poly( ) ; void poly_append ( float c, int e ) ; void display_poly( ) ; void poly_add( poly &l1, poly &l2 ) ; ~poly( ) ; } ; poly :: poly( ) { p = NULL ; } void poly :: poly_append ( float c, int e ) { polynode *temp = p ; if ( temp == NULL ) { temp = new polynode ; p = temp ; } else { while ( temp -> link != NULL ) temp = temp -> link ; temp -> link = new polynode ; temp = temp -> link ; } temp -> coeff = c ; temp -> exp = e ; temp -> link = NULL ; } void poly :: display_poly( ) { polynode *temp = p ; int f = 0 ; cout << endl ; while ( temp != NULL ) { if ( f != 0 ) { if ( temp -> coeff > 0 ) cout << " + " ; else cout << " " ; } if ( temp -> exp != 0 ) cout << temp -> coeff << "x^" << temp -> exp ; else cout << temp -> coeff ; temp = temp -> link ; f = 1 ; } } void poly :: poly_add ( poly &l1, poly &l2 ) { polynode *z ; if ( l1.p == NULL && l2.p == NULL ) return ; polynode *temp1, *temp2 ; temp1 = l1.p ; temp2 = l2.p ; while ( temp1 != NULL && temp2 != NULL ) { if ( p == NULL ) { p = new polynode ; z = p ; } else { z -> link = new polynode ; z = z -> link ; } if ( temp1 -> exp < temp2 -> exp ) { z -> coeff = temp2 -> coeff ; z -> exp = temp2 -> exp ; temp2 = temp2 -> link ; } else { if ( temp1 -> exp > temp2 -> exp ) { z -> coeff = temp1 -> coeff ; z -> exp = temp1 -> exp ; temp1 = temp1 -> link ; } else { if ( temp1 -> exp == temp2 -> exp ) { z -> coeff = temp1 -> coeff + temp2 -> coeff ; z -> exp = temp1 -> exp ; temp1 = temp1 -> link ; temp2 = temp2 -> link ; } } } } while ( temp1 != NULL ) { if ( p == NULL ) { p = new polynode ; z = p ; } else { z -> link = new polynode ; z = z -> link ; } z -> coeff = temp1 -> coeff ; z -> exp = temp1 -> exp ; temp1 = temp1 -> link ; } while ( temp2 != NULL ) { if ( p == NULL ) { p = new polynode ; z = p ; } else { z -> link = new polynode ; z = z -> link ; } z -> coeff = temp2 -> coeff ; z -> exp = temp2 -> exp ; temp2 = temp2 -> link ; } z -> link = NULL ; } poly :: ~poly( ) { polynode *q ; while ( p != NULL ) { q = p -> link ; delete p ; p = q ; } } void main( ) { poly p1 ; p1.poly_append ( 1.4, 5 ) ; p1.poly_append ( 1.5, 4 ) ; p1.poly_append ( 1.7, 2 ) ; p1.poly_append ( 1.8, 1 ) ; p1.poly_append ( 1.9, 0 ) ; cout << "\nFirst polynomial:" ; p1.display_poly( ) ; poly p2 ; p2.poly_append ( 1.5, 6 ) ; p2.poly_append ( 2.5, 5 ) ; p2.poly_append ( -3.5, 4 ) ; p2.poly_append ( 4.5, 3 ) ; p2.poly_append ( 6.5, 1 ) ; cout << "\nSecond polynomial:" ; p2.display_poly( ) ; poly p3 ; p3.poly_add ( p1, p2 ) ; cout << "\nResultant polynomial: " ; p3.display_poly( ) ; } |

the 53rd line is missing a – sign

hi there is this the type your after please email me

craigy

well grant here is the web address address , they have 30% disc at the moment , tell them michael recommened you

hi kevin if you are still in need of them i think this is the web address

filling address ,ring them if you need them in a hurry ,say martin netsims said you would sort him out

I didn’t understand anything in this code

try to make it as a short program

its really big

what is the variable f in display_poly() function??