C/C++の宿題を片付けます 97代目
■ このスレッドは過去ログ倉庫に格納されています
0596デフォルトの名無しさん
2007/10/30(火) 19:27:39#include <math.h>
void divhalf(double *, double *,double a,double c);
double f(double x, double a,double c);
main(){
double a,c,x,x_1,x_2,xm;
int nc=0;
a=c=3; x_1=0;x_2=1;
while(nc<50){
divhalf(&x_1,&x_2,a,c);
xm=(x_1+x_2)/2;
printf("%d %f %f %f\n",nc, x_1,x_2, f(xm,a,c));
nc++;
if(fabs(f(xm,a,c))< 0.000001)break;
}
}
void divhalf(double *x_1, double *x_2,double a,double c){
double x_m=(*x_1+*x_2)/2;
if(f(*x_1,a,c)*f(x_m,a,c)>0) *x_1=x_m; else *x_2=x_m;
}
double f(double x, double a,double c){return tan(c*x)-a;}
■ このスレッドは過去ログ倉庫に格納されています