• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Помогите пожалуйста найти ошибку в алгоритме

  • Автор темы Lotti
  • Дата начала
L

Lotti

И снова здравствуйте)
Как часть задачи, надо решить определенный интеграл методом симпсона. Но, к сожалению, он никак не хочет решаться правильно)) Хотя, в принципе функцию списывала с блок-схемы. Видимо неудачно списала, но ошибки найтти не могу(....Если не сложно, подскажите. что не так)
C++:
DWORD WINAPI M_Simpsona(LPVOID N)
{
name* N1=(name*)N;
ifstream in(N1->in);
double a,b,eps;
if(in.good())//считываем переменные и точность
{
in>>a;
in>>b;
in>>eps;
in.close();
}
else
return 0;
double x,h,s1,s2,s3,s;
int n,i;
s2 = 1;
h = 100;	
s = f (100,a,b)+f (0,a,b);
do
{
s3 = s2;
h = h/2;
s1 = 1;
x = h;
do
{
s1 = s1+2*f(x,a,b);
x = x+2*h; 
}
while (x<b);
s = s+s1;
s2 = (s+s1)*h/3;
x = (s3-s2)/15; 
}
while (x>eps);
ofstream out(N1->out);
out<<s;
out.close();
return 0;
}
double f(double x, double a, double b)
{
return ( sin(a*x) / (b+x*x) );
}
struct name
{
char* in;//имя входного файла
char* out;//имя выходного файла

};

вставить изображение блок-схемы я не смогла( подскажите пожалуйста, как это делается).....а пока вот, вроде бы получилось загрузить....
Посмотреть вложение ______________.doc

Подскажите пожалуйста, в каком место я ошибоась) Зарание спасибо)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!