宿題手伝います
■ このスレッドは過去ログ倉庫に格納されています
0348Rina ◆tI333vNE
NGNGいちおう, 私が書いたのを.
#include<stdio.h>
#include<math.h>
#define EPS (1e-15)
#define x1 3.0
#define x2 4.0
/*
* @param a, b: x1, x2
* @param func: 計算用の関数
*/
double BesectionMethod(double a, double b, double (*func)()) {
double fa, fb;
double tmp;
double x;
do {
tmp = (a + b) / 2.0;
x = sin(tmp);
if ( fabs(x) < EPS ) {
return tmp;
}
if((*func)(a) * x < 0){
b = tmp;
} else {
a = tmp;
}
} while (1); /* infinity */
}
int main(void) {
printf("答え: %lf\n", BesectionMethod(x1, x2, sin));
}
■ このスレッドは過去ログ倉庫に格納されています