Vous êtes sur la page 1sur 1

#include<iostream>

#include<conio.h>
#include<stdio.h>
#include<math.h>
using namespace std;
int n,i;
float epsilon,S1,S2,s[100],x[100],a,b;
float f(float x){
return 1/(1+x);}
void main (){
cout<<"Dati eroarea";cin>>epsilon;
cout<<"Dati capetele intervalului";cin>>a;cin>>b;
n=1;
s[1]=((b-a)/6)*(f(a)+f(b)+4*f((a+b)/2));
do{
n++;
for (i=0;i<=n;i++){
x[i]=a+((b-a)/n)*i;
}
S1=0;
for(i=1;i<=n-1;i++){
S1=S1+f(x[i]);
}
S2=0;
for(i=0;i<=n-1;i++)
S2=S2+f((x[i]+x[i+1])/2);
s[n]=((b-a)/(6*n))*(f(a)+f(b)+2*S1+4*S2);
//cout<<s[n];
}
while(fabs(s[n]-s[n-1])>epsilon);
cout<<"\n Valoarea integralei este"<<s[n];
cout<<"\n Numarul de puncte este"<<n;
}

Vous aimerez peut-être aussi