IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Вычисление определеннного интеграла на C++
сообщение
Сообщение #1


Гость






Привет ! Прошу вашей помощи нужно вычислить определенный интеграл тремя методами: порабол,примоугольников,трапеций. У меня есть три проги но одна не работает а другие две выдают разный результат помогите пожалуйста отладить.Проги в консольном приложении без элементов билдера
1)
#include <vcl.h>
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
double F(double X)
{return 1/(1+sqrt(X));
}

int main(int argc, char* argv[])
{const int h=10;
const int a=0;
const int b=1;
double Yn;
double Y0;
double Y1;
double X0;
int i;
double dx;

dx=(b+a)/h;
Yn=0;
X0=a;
for (i=1;i<=h;i++)
Y0=F(X0);
X0=X0+dx;
Y1=F(X0);
Yn=(Y1+Y0)*dx/2;
Yn=Yn+Y0;

cout<<"\n Yn="<<Yn<<endl;
getch();
return 0;
2)
#include <vcl.h>
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
double F(double X)
{return 1/(1+sqrt(X));
}

int main(int argc, char* argv[])
{const int h=10;
const double a=0.05;
const double b=0.95;
double Yn;
double Y0;
double X0;
int i;
double dx;

dx=(b+a)/h;
Yn=0;
X0=a;
for (i=1;i<=h;i++)
Y0=F(X0);
X0=X0+dx;
Yn=Yn+Y0;

cout<<"\n Yn="<<Yn<<endl;
getch();
return 0;
3)//---------------------------------------------------------------------------
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------


#pragma argsuse
double F(double x)
{return 1/(1+sqrt(x));
}
int main(int argc, char* argv[])
{ const int h=6;
const int a=0;
const int b=1;
double yn;
double y0;
double x0;
double xn;
int i;
double dx;
double S0;
double S1;
double S2;
dx=(b-a)/2*h;
yn=0;
x0=a;
y0=F(a);
yn=F(b);

S0=0;
S1=0;
S2=0;
for (i=1; i<=2*h-1;i+2)
{xn=x0+i*h;
y0=F(x0);}
S0=xn*4;
for (i=2;i=2*h-2;i+2)
{xn=x0+i*h;
y0=F(x0);}
S1=xn*2;
S2=(S0+S1)*((b-a)/6*h);
cout<<"\n S2="<<S2<<endl;
getch();
return 0;
}
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.10.2020 21:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name