girlsbest
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору помогите исправить ошибки) нужно три интеграла вычислить, которые описаны в функциях integ1,2,3, # include <iostream> # include <cmath> using namespace std; double fun(double); double integ1(double x) { return x*x*x*pow(exp,(2*x)); } double integ2(double x) { return 1/(1+sqr(x)); } double integ3(double x) { return 1/(x+1)* sqr(x*x+1); } double metod (double fun(double), double a, double b, double e) { double s1,d,x1,help; bool check=false; int n=1; double s2=(b-a)*(fun(b)+fun(a))*0.5; if (a==b) return 0.0; if (a>=b) { help=a; a=b; b=help; check=true; } do s1=s2; n*=2; d=(b-a)/n; s2=d*(fun(b)+fun(a))*0.5; x1=a; for (int i=0; i<n; i++) { x1 +=d; s2 += fun(x1)*d; } while (abs(s2-s1)<e) if (check) s2=-s2; return s2; } int main () { double s,d,p; s=metod(integ1,0.0, 0.8, 0.0000001); d=metod(integ2, 0.0, 1.8, 0.000001); p=metod(integ3, 0.0, 0.3, 0.000001); cout<<"rezultat"<<s<<endl; cout<<"rezultat2"<<d<<endl; cout<<"rezultat3"<<p<<endl; } |