/*Title Program to Calculate roots of 4th order algebraic equation of the form ax^4 + bx^3 + cx^2 + dx + e = 0. Author Adarsh Ramamurthy Author Email adarsh83 [at] rediffmail.com Description Calculates all roots( both complex and real ) of a fourth order algebraic equation of the form ax^4 + bx^3 + cx^2 + dx + e = 0 and displays them. Employs OOPS. Category C++ » Mathematics Hits 1649 */ #include #include #include #include #include const int IMAX = 800; class coeffs { public : float a, b, c, d, e, x, y, p, q, r, z; void getdata(void); void divide(void); void chkrealcmplx(void); void dispreal(float, float, float); void dispcomplx(float, float, float); }; void coeffs :: getdata() { cout<<"Enter coefficients 'a' through 'e' : "; cin>>a>>b>>c>>d>>e; } void coeffs :: divide(void) { int i; float y1,z1; b = b/a; c = c/a; d = d/a; e = e/a; a = 1; y = d/c; z = e/c; x = 1; for(i=1;i<=IMAX;i++) { y1 = (d-z*(b-y))/((c-z)-y*(b-y)); z1 = e/((c-z)-y*(b-y)); y = y1; z = z1; p = 1; q = b-y; r = (c-z)-y*(b-y); } } void coeffs :: chkrealcmplx(void) { float delta1,delta2; delta1 = q*q - 4*p*r; delta2 = y*y - 4*x*z; if(delta1<0) { cout<<" Roots R1 and R2 are complex "; cout<<"Roots are : "; dispcomplx(delta1,p,q); } if(delta2<0) { cout<<" Roots R3 and R4 are complex "; cout<<"Roots are : "; dispcomplx(delta2,x,y); } if(delta1>=0) { cout<<" Roots R1 and R2 are real "; cout<<"Roots are : "; dispreal(delta1,p,q); } if(delta2>=0) { cout<<" Roots R3 and R4 are real "; cout<<"Roots are : "; dispreal(delta2,x,y); } } void coeffs :: dispreal(float delta,float A,float B) { float r1,r2; r1 = (-B+sqrt(delta))/(2*A); r2 = (-B-sqrt(delta))/(2*A); cout<