|
|
|
| Очень прошу помочь добить код..
Ошибка в цикле, знаю.. Как исправить?
main.c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "fun.h"
double fun(double x)
{
return x*x;
}
int main(void)
{
double s,a,b;
int n;
s=find(fun,0,1,10000);
printf("s=%g",s);
getchar();
}
fun.c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "fun.h"
double find(double (*p)(double), double a,double b, int n)
{
double s,x;
x=a;
for(x=a;x<=b;x+=fabs((b-a)/n),a+=fabs((b-a)/n))
{
s=p((x+fabs((b-x)/n))/2)*(x+fabs((b-x)/n));
x+=fabs((b-a)/n);
}
return s;
}
fun.h
double find(double (*p)(double), double a,double b, int n);
double fun(double x); |
| |
|
|