Помогите пожалуйста, преподаватель говорит что первая часть правильно а вот дальше надо искать.
Код:
#include "stdafx.h"
#include "math.h"
int main()
{
int i,n;
float a,b,h,x,I0,I1,eps;
a=0;
b=exp(1);
printf("n=");
scanf("%i",&n);
h=(b-a)/n;
eps=0.0001;
x=a+h;
I0=sin(log(x))/x;
for (i=2;i<=n;i++)
x=x+h;
I0=I0+(sin(log(x))/x);
I0=I0*h;
I1=0;
while (fabs(I0-I1)>=eps)
{
I1=I0;
n=2*n;
h=(b-a)/n;
x=a+h;
I0=sin(log(a))/a;
for (i=2;i<=n;i++)
{
x=x+h;
I0=I0+sin(log(x))/x;
}
I0=I0*h;
}
printf("integral=%f \n",I0);
return 0;
}
Ошибок не находит но при запуске программы просит ввести n, ввожу нажимаю энтер, курсор перескакивает и прграмма больше ни на что не реагирует.
Цитата:
Задание:1) вычислить определенный интеграл с заданной точностью ε методами: правых прямоугольников, центральных прямоугольников, левых прямоугольников, трапеций, Симпсона. Сравнить полученные результаты, сделать выводы; 2) исследовать зависимость точности вычисления интеграла ε от числа шагов n. Сравнить полученные результаты, сделать выводы; 3) для наглядности полученных результатов использовать таблицы и графики; 4) сделать презентацию курсовой работы. Точность 0.0001
|