/* Bisection method */ /* Made By Gaurang */ /* gaurang85.tripod.com */ #include #include #include void value(float no); int i,j,h; float a,x1,temp,x2,nos,p[20],up=0,down=0,mid; int main() { clrscr(); printf("\nEnter The Highest Power Of X : "); scanf("%d",&h); for(i=0;i<=h;i++) { printf("\nEnter Coeff Of X Raised to %d : ",i); scanf("%f",&p[i]); } printf("\nEquation Is : "); for(i=h;i>=0;i--) { printf(" %5.2fX^%d ",p[i],i); if(i>=1&&p[i-1]>=0){printf("+");} } printf("\n\nEnter Exactness i.e. No Of Iterations: "); scanf("%f",&a); printf("\nEnter the numbers X1 & X2 : "); scanf("%f%f",&x1,&x2); for(i=x1;i<=x2;i++) { value(i); if(nos>0){up=i;}else if(nos<0){down=i;} if(up!=0&&down!=0){break;} } printf("\nUp=%f Down=%f",up,down); /*if(up!=0&&down!=0) { a=(log(up-down)-log(a))/2; if(a<0){a=-a;} printf("\nBisection Has To Be Performed %f Times.",a); }*/ for(i=0;i0){up=mid;}else if(nos<0){down=mid;} printf("\nRoot %d = %f",i+1,mid); } printf("\n\nRoot Of the Equation is : %f ",mid); getch(); return 0; } void value(float no) { nos=0; for(j=0;j<=h;j++) { temp=pow(no,j); nos=nos+(p[j]*temp); } }