Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Информатика_1 / C / lecture7 / l7_1
.c/*1*/ #include<stdio.h>
/*2*/ #include<math.h>
/*3*/ int rect(double,double,double,double (*)(double),double *);
/*4*/ double func(double);
/*5*/ void main(void){
/*6*/ double s,eps=0.001,a=0,b=1;
/*7*/ int error;
/*8*/ error=rect(a,b,eps,func,&s);
/*9*/ if(error==0)printf("integral=%e\n",s);
/*10*/ else printf("error in rect\n");
/*11*/ }
/*12*/ int rect(double x1,double x2,double e,double (*g)(double),double *s)
/*13*/ {int n=20,nmax=16384,i; double h,s0;
/*14*/ h=(x2-x1)/n;
/*15*/ for(i=1,*s=0;i<=n;i++)*s+=g(x1+(i-1)*h);
/*16*/ *s*=h;
/*17*/ do { s0=*s; n*=2; h/=2;
/*18*/ for(i=1,*s=0;i<=n;i++)*s+=g(x1+(i-1)*h);
/*19*/ *s*=h;
/*20*/ if(fabs(*s-s0)<e)return 0;
/*21*/ } while(n<nmax);
/*22*/ //аварийный выход
/*23*/ return 1;
/*24*/ }
/*25*/ double func(double t){ return t*t; }
/*26*/
/*27*/
/*28*/
Соседние файлы в папке lecture7