Форум программистов, компьютерный форум CyberForum.ru

Рекуррентный алгоритм, найти сумму ряда - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Aztek
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 4
18.12.2011, 19:39     Рекуррентный алгоритм, найти сумму ряда #1
задание: составить алгоритм и программу нахождения суммы ряда с заданной точностью E. использовать рекуррентные соотношения при вычислении очередного элемента ряда. Предусмотреть вычисление по контрольной формуле.
суммы рассматреваемых рядов конечны для значений X,абсолютная величена которых меньше единицы,причем сумма начальных элементов ряда отличаеться от суммы бесконечного ряда на величину,которая не превосходит абсолютной велечины E. абсолютная величена всех отброшенных членов ряда меньше E.
формула:
Вложение 114744

Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iomanip>
#include <conio.h>
#include <math.h>//математические функции
#include <iostream>//input output
#include <stdlib.h>
using namespace std;
#define E 0.0001
nt main()
{int i=1,k;
float slag=1,x,f1=1,f2=1,s=0,control=0;
do{cout<<"vvedite x<1"<<endl;
cin>>x;}while(fabs(x)>=1);
control=(2-exp(powf(-(x),2))-cos(x));
while(fabs(slag)>=E)
{for(k=1;k<=i;k++){f1=f1*k;};
for(k=1;k<=2*i;k++){f2=f2*k;};
slag=(powf(x,2*i))*(1/f1 + 1/f2);
if(i%2!=0){s=s+slag;} else {s=s-slag;};
i++;
};
cout<<s<<endl;
cout<<control;
_getch();
return 0;
}
Помогите пожалуйста осознать ошибку.
Миниатюры
Рекуррентный алгоритм, найти сумму ряда  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 19:39     Рекуррентный алгоритм, найти сумму ряда
Посмотрите здесь:

C++ Найти сумму ряда
найти сумму ряда C++
C++ Рекуррентный алгоритм! подскажите как написать програмку!
Найти сумму ряда C++
Найти сумму ряда C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
18.12.2011, 19:45     Рекуррентный алгоритм, найти сумму ряда #2
Первая ошибка — ты вместо кода написал ужасное месиво, в котором невозможно визуально выделить отдельные части. У меня сосуд в глазу лопнул, когда я пытался в нем разобраться, честно. Не стоит пренебрегать форматированием кода.
Вторая ошибка — когда ты запостил код на форум, ты не воспользовался тегами выделения кода. Это еще больше осложняет попытки тебе помочь.

Попробуй исправить эти ошибки и выложи результаты.
Aztek
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 4
18.12.2011, 20:54  [ТС]     Рекуррентный алгоритм, найти сумму ряда #3
я хотел все выделить код тегами,но в Oper'e они почему то никак не хотели работать. За стиль написания принашу извинения.(время исправления истекло,не могу поправить.

Добавлено через 58 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iomanip>
#include <conio.h>
#include <math.h>//математические функции
#include <iostream>//input output
#include <stdlib.h>
using namespace std;
#define E 0.0001
int main()
{int i=1,k;
float slag=1,x,f1=1,f2=1,s=0,control=0;
do{
    cout<<"vvedite x<1"<<endl;
    cin>>x;}
while(fabs(x)>=1);
control=(2-exp(powf(-(x),2))-cos(x));
while(fabs(slag)>=E)
     {for(k=1;k<=i;k++){
                             f1=f1*k;
                             };
      for(k=1;k<=2*i;k++){
                              f2=f2*k;
                              };
      slag=(powf(x,2*i))*(1/f1 + 1/f2);
      if(i%2!=0){
                   s=s+slag;} 
                    else 
                  {s=s-slag;};
      i++;
};
cout<<s<<endl;
cout<<control;
_getch();
return 0;
}
годно?
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
19.12.2011, 03:46     Рекуррентный алгоритм, найти сумму ряда #4
У тебя экспонента считается неправильно. Должно быть http://www.cyberforum.ru/cgi-bin/latex.cgi?e^{-x^2}, а у тебя получается http://www.cyberforum.ru/cgi-bin/latex.cgi?e^{(-x)^2} = e^{x^2}
Aztek
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 4
19.12.2011, 17:38  [ТС]     Рекуррентный алгоритм, найти сумму ряда #5
Цитата Сообщение от Nameless One Посмотреть сообщение
У тебя экспонента считается неправильно. Должно быть http://www.cyberforum.ru/cgi-bin/latex.cgi?e^{-x^2}, а у тебя получается http://www.cyberforum.ru/cgi-bin/latex.cgi?e^{(-x)^2} = e^{x^2}
благодарю. Теперь всё как нужно. Спасибо огромное.
Yandex
Объявления
19.12.2011, 17:38     Рекуррентный алгоритм, найти сумму ряда
Ответ Создать тему
Опции темы

Текущее время: 22:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru