|
分類:[.NET 全般]
#include <stdio.h> #include <math.h>
/* 関数の定義 */ double func1(double x); /* 台形公式 */ double traqezoidal( double a, double b, int n, double (*f)(double) );
int main(void) { int n=100;
printf("sqrt[5] * 1/(4 + sin(x) * sin(x))) を [0,π/2]で積分します。分割数は%dです。 ", n); printf("結果は%20.15fです。", traqezoidal(0.0, M_PI_2, n, func1) );
return 0; }
/* 台形式 */ double traqezoidal( double a, double b, int n, double (*f)(double) ) { double T, h; int i;
h =( b - a ) /n ; /* 刻み幅の指定 */
/* 台形公式 */ T = ( (*f)(a) + (*f)(b) ) / 2.0; for ( i = 1; i< n; i++) T += (*f)( a + i*h ); T *= h;
return T; }
/* 関数の定義 */ double func1(double x) { return( sqrt[5] * 1.0 / (4 + sin(x) * sin(x)) ); }
上のソースをコンパイルすると エラー E2453 kadai2kai.c 38: 'double(double)' 型のサイズは未知あるいはゼロ(関数 func1 ) エラー E2087 kadai2kai.c 38: ポインタの不正な使用(関数 func1 ) 警告 W8057 kadai2kai.c 39: パラメータ 'x' は一度も使用されない(関数 func1 ) と出ます。
どこを直せば良いのか教えてください。
|