Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
09.06.2015
Размер:
902 б
Скачать
/*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