コンパイルのエラー c言語について
Posted: 2010年6月27日(日) 14:56
#include <stdio.h>
#include <math.h>
/* 関数の定義 */
double func1(double x);
/* 台形公式 */
double trapezoidal( double a, double b, int n, double (*f)(double) );
int main(void)
{
int n=100;
printf(" sqrt 5 * ( 1.0 / ( 4 + sin(x) * sin(x) ) ) ) を [0,π/2]で積分します。分割数は%dです。 ", n);
printf("結果は%20.15fです。", trapezoidal(0.0, M_PI_2, n, func1) );
return 0;
}
/* 台形式 */
double trapezoidal( 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) ) ) );
}
コマンドプロントを実行すると
エラー E2293 kadai2kai2.c 38: ) が必要(関数 func1 )
警告 W8057 kadai2kai2.c 39: パラメータ 'x' は一度も使用されない(関数 func1 )
*** 1 errors in Compile ***
と出ます。
sqrt 5を(1.0 / ( 4 + sin(x) * sin(x) ) )に掛ける場合はどこを直せばよいか教えてもらいたいです。

#include <math.h>
/* 関数の定義 */
double func1(double x);
/* 台形公式 */
double trapezoidal( double a, double b, int n, double (*f)(double) );
int main(void)
{
int n=100;
printf(" sqrt 5 * ( 1.0 / ( 4 + sin(x) * sin(x) ) ) ) を [0,π/2]で積分します。分割数は%dです。 ", n);
printf("結果は%20.15fです。", trapezoidal(0.0, M_PI_2, n, func1) );
return 0;
}
/* 台形式 */
double trapezoidal( 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) ) ) );
}
コマンドプロントを実行すると
エラー E2293 kadai2kai2.c 38: ) が必要(関数 func1 )
警告 W8057 kadai2kai2.c 39: パラメータ 'x' は一度も使用されない(関数 func1 )
*** 1 errors in Compile ***
と出ます。
sqrt 5を(1.0 / ( 4 + sin(x) * sin(x) ) )に掛ける場合はどこを直せばよいか教えてもらいたいです。
