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

Вычислить сумму ряда с заданной точностью - C++

Восстановить пароль Регистрация
 
maksym08
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 10
21.10.2012, 12:46     Вычислить сумму ряда с заданной точностью #1
Вычислить для x с точностью епсилон больше нуля суму. Модуль х меньше 2.4.
Мне не понятно что делать с левой частью. И что такое точность вычисления??? Помогите пожалуста!!!
И как вычислить факториал... Спасибо!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
int main()
{
    double x,e;
    cout<<"Vvedit zminnu x: ";
    cin>>x;
    cout<<"Vvedit tochnist obchyslennia: ";
    cin>>e;
    if (e<=0) cout<<"Nevirno!!!";
    if (x>fabs(2.4)) cout<<"Necorectni dani!!!";
    else
    {
        for (int n=0;n>e;n++)
            sum=(pow(x,n)*(n+1))/k
        
    
    }
    getche();
return 0;
}
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maksym08
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 10
22.10.2012, 00:12  [ТС]     Вычислить сумму ряда с заданной точностью #2
Вроде прально, но суму не считает:
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 <iostream>
#include <sstream>
#include <iomanip>
#include <conio.h>
#include <cmath>
 
using namespace std;
long double fact(int n)
{
    if(n<0) 
        return 0; 
    if (n=0) 
        return 1; 
    else 
        return n*fact(n-1);
}
int main()
{
    int n=0;
    double eps,x,S1=1.0,S=0.0,k;
    cin>>eps>>x;
    k=exp(x)*(1+x);
    cout<<"K="<<k;
    while(fabs(S1)>eps)
        {
        S1=(pow(x,n)*(n+1))/fact(n);
        S+=S1;
        ++n;
        }
    cout<<"S="<<S;
    
getche();
return 0;
}
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
22.10.2012, 00:34     Вычислить сумму ряда с заданной точностью #3
В функции вычисления факториала ошибка: вместо сравнения использовано присваивание.
Точность определяет значение, такое что 2 числа считаются одинаковыми если их абсолютная разность меньше точности. Т.е. если eps = 0.01 числа 1.00 и 1.01 считаются различными (|1.00-1.01|=0.01 >= eps), а 1.00 и 1.005 совпадают (|1.00-1.005| = 0.005 < eps)

Используйте теги форматирования кода
maksym08
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 10
22.10.2012, 23:03  [ТС]     Вычислить сумму ряда с заданной точностью #4
Цитата Сообщение от doctor_lecter Посмотреть сообщение
В функции вычисления факториала ошибка: вместо сравнения использовано присваивание.
Точность определяет значение, такое что 2 числа считаются одинаковыми если их абсолютная разность меньше точности. Т.е. если eps = 0.01 числа 1.00 и 1.01 считаются различными (|1.00-1.01|=0.01 >= eps), а 1.00 и 1.005 совпадают (|1.00-1.005| = 0.005 < eps)

Используйте теги форматирования кода
Спасибо!
Yandex
Объявления
22.10.2012, 23:03     Вычислить сумму ряда с заданной точностью
Ответ Создать тему
Опции темы

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