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

Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности - C++

Восстановить пароль Регистрация
 
RBroman
Сообщений: n/a
28.10.2012, 14:58     Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности #1
Помогите пожалуйста доработать программу, в программировании новичок.

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 "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    double a=1.0, b=1.0, x , t, i=1.0, s=0, z=1.0;  
    long m;
    cout<<"m=";
        cin>>m;
        cout<<"t=";
        cin>>t;
        cout<<"x=";
        cin>>x;
        do{s=s+a*z/b;
            a=a*(m-i+1);6
            b=b*i;
            z=z*x;
        }
        while(a*z/b>t);
        cout<<s<<endl;
 
 
    system("pause");
    return 0;
}

Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности (т.е. очередной член ряда становится меньше введенной точности, либо разность между двумя соседними членами ряда становится меньше введенного значения точности).
Миниатюры
Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 14:58     Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности
Посмотрите здесь:

C++ Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной
C++ Вычислить сумму членов бесконечного ряда с заданной степенью точности > 0 и заданного значения х
C++ Вычислить сумму ряда с заданной точностью
Вычислить сумму ряда с заданной точностью C++
C++ Вычислить сумму ряда с заданной точностью
C++ Вычислить сумму ряда с заданной точностью
Вычисления до заданной точности C++
C++ Вычислить сумму ряда с заданной погрешностью

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
10.11.2012, 10:09     Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности #2
Вы забыли сделать изменение i при следующей итерации

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
#include <iostream>
using namespace std;
int main()
{
    double a=1.0, b=1.0, x , t, i=1.0, s=0.0, z=1.0, prev;  
    double m;
    cout<<"m=";
        cin>>m;
        cout<<"t=";
        cin>>t;
        cout<<"x=";
        cin>>x;
        do{s=s+a*z/b;
            a=a*((double)m-i+1.0);
            b=b*i;
            z=z*x;
            prev = a*z/b;
            i=i+1.0;
        }
        while(a*z/b>t || (prev - a*z/b)<t );
        cout<<s<<endl;
 
 
    system("pause");
    return 0;
}
Проверял на следующих данных:
m = 0.25
t = 0.01
x = 0.67
1.13679
вроде бы работает
Yandex
Объявления
10.11.2012, 10:09     Вычислить сумму ряда. Вычисления заканчивать при достижении заданной степени точности
Ответ Создать тему
Опции темы

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