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

Вычислить с точностью ε=10-5 сумму - C++

Восстановить пароль Регистрация
 
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
27.11.2012, 02:25     Вычислить с точностью ε=10-5 сумму #1
Здравствуйте! Решаю другу Д/З. Осталось 2 задачи которые вызвали затруднение(во вложениях). Подскажите пожалуйста как решать?
Миниатюры
Вычислить с точностью ε=10-5 сумму  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 02:25     Вычислить с точностью ε=10-5 сумму
Посмотрите здесь:

Вычислить бесконечную сумму с заданной точностью ε> 0. Считать, что заданная точность достигнута, если абсолютная величина очередного слагаемого не пр C++
C++ Вычислить бесконечную сумму с заданной точностью ε (ε>0).
Для функции вычислить ее приближенное значение с точностью ε=10^-3 в точке х=1,5 C++
Даны действительные числа θ и ε. Вычислить с заданной точностью C++
Вычислить и вывести на экран значение функции F(x) на отрезке [a,b] с шагом h=0.1 с точностью ε. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
27.11.2012, 12:36  [ТС]     Вычислить с точностью ε=10-5 сумму #2
Вообще никаких идей?

Добавлено через 2 часа 7 минут
Вроде написал первое задание, для 1 и 2 работает нормально, но для 3 уже не пашет. Вручную считаю уже 9й шаг - всё совпадает( Подскажите пожалуйста что не так

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
35
36
37
38
39
40
41
42
43
44
# include <iostream>
using namespace std;
#include <math.h>
 
int fact(int);
double calcSlog(double,double);
 
int main()
{
    double result = 0;
    double E=pow(10,-5);
    double x = 0;
 
    cout << "E = " << E << endl
        << "Enter X:"; cin >> x;
 
    double slog = 1;
    double chisl = 1, znam = 1;
 
    int n = 1;
 
    while(E<=fabs(slog))
    {
        chisl = (pow(-1,n)*pow(x,n));
        znam = (fact(n) + 1);
        slog = chisl/znam;
        result+=slog;
 
        cout << n <<") " << chisl << "/" << znam << " = " << slog << endl; 
        n++;
    }
 
    cout << "Result: " << result << endl;
    system("pause");
}
 
int fact(int num)
{
    int result = 1;
    for(int i = 1; i <= num; i++)
        result*=i;
 
    return result;
}
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
27.11.2012, 12:41  [ТС]     Вычислить с точностью ε=10-5 сумму #3
Вот как выполняются шаги:
Миниатюры
Вычислить с точностью ε=10-5 сумму  
!Андрей!
6 / 6 / 0
Регистрация: 31.01.2012
Сообщений: 134
27.11.2012, 12:43  [ТС]     Вычислить с точностью ε=10-5 сумму #4
Как я понимаю он не успевает дойти до заданной точности, и потом просто диапазон допустимых значений doublle заканчивается
хотя вот min: 2.2e-308 и max:1.8e308
Yandex
Объявления
27.11.2012, 12:43     Вычислить с точностью ε=10-5 сумму
Ответ Создать тему
Опции темы

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