Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2012, 22:00   #1
lisica198808
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 64
Вопрос не вижу ошибку, но она где-то есть

на С++ делаю задание : Вычислить значение суммы ряда с заданной точностью. Вычисление суммы ряда завершить, когда очередное слагаемое станет не больше заданной точности. Определить количество итераций. В каждом задании вывести на печать: сумму ряда, количество итераций и заданную точность

Даны a и значение точность - 0.001, подсчитать сумму ряда

S=Z(от к=1 до к к бесконечности) -a^k/(a^k+k)*k!

програмку составила - вроде правильно. а решение все время одно и тоже выдает какое бы значение a не задавалось..
чего не вижу???
Код:
#include<conio.h>
#include<math.h>
int main()
{
  double ch=1,f=1,a,sk,s=0,eps=0.001,sl;
  int k=0;

 printf("vvedite a:");
 scanf("%.1f",&a);
 do
   { k=k+1;
     ch=ch*a;
     f=f*k;
     sk=pow(a,k);
     sl=-ch/(f*(sk+k));
     
     s=s+sl;
        
   }

   
 while(sl>0.001);

 printf("summa rjada pri zadannoj tochnosti %4.3f ravna %4.3f ",eps,s);
 printf("\nkollichestvo iteracij=%d\n",k);

system("pause");
return 0;
}

Последний раз редактировалось Stilet; 06.11.2012 в 23:11.
lisica198808 вне форума Ответить с цитированием
Старый 06.11.2012, 22:26   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

1) k должно быть целым, так как от него факториал расчитывается, а факториал - целочисленная функция.

2) ch=ch*a; поменяйте на ch:=pow(a,k) Да и вообще, раз вещественные числа - нужно наверное, powf или fpow (не помню точно название) использовать

3) while(sl>0.001); Сравнение точности должно производиться с модулем числа, то есть:

Код:
while(fabs(sl)>0.001);
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не вижу ошибку :-( (массивы) gostix Общие вопросы по Java, Java SE, Kotlin 2 22.11.2012 03:10
Справедливость. А есть ли она? Баламут Свободное общение 15 18.11.2011 21:19
Где окна формы и кода-не вижу (Delphi7) Беллая Помощь студентам 6 30.07.2010 23:37
С++ Builder, строки. Не вижу где ошибка. ernie Помощь студентам 2 23.12.2009 19:38
Не вижу ошибку...помогите. 1 курс задача на Си good_andy Помощь студентам 6 02.01.2008 10:01