Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Разложение в ряд, выручайте, ребятки)


Автор: Klord 15.12.2010, 23:41
Код

#include <stdio.h>
#include <math.h>
int main () {
double a,b,x ,z=1,count, sum=0, iter,n=1,toch;
printf("vvedi x\n");
scanf("%lf", &x);
printf("vvedi schag\n");
scanf("%lf", &a);
printf("vvedi x konechnoe\n");
scanf("%lf", &b);
printf("vvedi tochnost\n");
scanf("%lf", &toch);
 
while (x<=b){
count = 0;
sum=0;
iter=x;
 
for (int n=0; fabs(iter)>toch; n++)
{iter*= x*(pow(x,2))/((n+2)*z) ;
sum+=iter;
if
( n>500 ) break;}
 
printf(" %3.3lf\n",sum);
 
x+=a;
}
return 0;
}




Задание: arctg (х) = х - x^3/3 + x^5/5 - x^7/7+..... 

Автор: bsa 16.12.2010, 13:26
Klord, цикл у тебя не так написан. Ты должен закончить выполнение, когда разница между текущим значением и предыдущим будет менее заданной точности. Сейчас ты сравниваешь текущее значение и точность, что смысла вообще не имеет, даже если бы ты написал знак меньше (который, кстати, более уместно использовать в этой задаче).
Кстати, а куда ты дел минус у четных членов?

Добавлено через 1 минуту и 45 секунд

M
bsa
Отформатируй свой код

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)