0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 20
1

Нужна программа на C++ для подсчёта ряда

04.11.2013, 20:16. Показов 1252. Ответов 4
Метки нет (Все метки)

Задумки:
// ...

S = 0;
int i = 0;
do {
S += pow(x, 2*i + 1) / (2*i + 1);
} while (<проверка точности>)
S *= 2;
Миниатюры
Нужна программа на C++ для подсчёта ряда  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2013, 20:16
Ответы с готовыми решениями:

Программа на C++ для подсчёта суммы ряда,
Напишите программу, пожалуйста для нахождения суммы ряда на C++ можно через функцию Сама фотка...

Составить программу для подсчёта суммы ряда
Составить программу для подсчёта суммы данного ряда, для указанного значения аргумента х,если...

Программа для подсчёта денег в секундах
Здравствуйте, прошу помочь! Мне нужно сделать программу, которая будет подсчитывать деньги в...

Программа для подсчёта суммы 10 вводимых чисел
Написать программу подсчета суммы 10 чисел, вводимых с клавиатуры, с использованием оператора...

4
Форумчанин
Эксперт CЭксперт С++
8194 / 5044 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
04.11.2013, 20:23 2
Почти как у вас:
Вычислить и вывести на экран в виде таблицы значения функции
1
133 / 131 / 51
Регистрация: 25.05.2013
Сообщений: 233
05.11.2013, 17:47 3
upp01, мой вариант решения.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//============================================================================
// Name        : series_ln.cpp
// Author      : UranFlex @gmail.com
// Version     : 0.1 alpha
// Copyright   : UranFlex 2013
// License     : Free for all
// Description : Рассчитать сумму ряда для ф-ции ln( ( 1 + x ) / ( 1 - x ) ) с заданной точностью
//               C++, Ansi-style
//============================================================================
 
#include <iostream>
#include <cmath>
 
using namespace std;
 
// функция вычисляет для x с точностью eps значение суммы ряда ln( ( 1 + x ) / ( 1 - x ) )
// и записывает вычисленное значение в sum
// если ( | x | >= 1 или eps == 0 ), то функция вернет false,
// если функции переданы правильные данные, то она возвратит true
bool CalcSumLn( const double x, const double eps, double &sum );
 
int main() {
 
    // запрашиваем данные у пользователя
    double x, eps;
    cout << "Программа вычисляет сумму ряда для функции  ln( ( 1 + x ) / ( 1 - x ) )" << endl;
    cout << "Введите значение аргумента, | x | < 1: ";
    cin >> x;
    cout << "Введите точность вычислений, | epsilon | > 0: ";
    cin >> eps;
 
    // пробуем вычислить сумму ряда
    double sum;
    if ( !CalcSumLn( x, eps, sum ) ) { // eсли сумму нельзя посчитать,
        cerr << "Введены неверные данные!" << endl; // то выводим сообщение об ошибке
        return 1; // выходим из программы
    }
 
    // а если все нормально - выводим результаты
    cout << "Для заданного x: " << endl;
    cout << "Сумма ряда с заданной точностью = " << sum << endl;
    cout << "Значение, вычисленное с помощью библиотечной функции " << log( ( 1 + x ) / ( 1 - x ) ) << endl;
 
    return 0;
}
 
bool CalcSumLn( const double x, const double eps, double &sum ) {
 
    if ( fabs( x ) >= 1 || eps == 0 ) // если функция получила неверные данные
        return false; // возвращаем false
 
    double epsAbs = fabs( eps ); // на случай, если точность вычислений передана отрицательной
    double curr = x; // первый элемент ряда
    sum = curr; // сумма пока равна первому элементу
 
    unsigned counter = 3; // следующее число для вычисления очередного элемента ряда ( для второго это 3)
 
    while ( fabs( curr ) >= epsAbs ) { // пока очередной элемент ряда по модулю больше точности вычислений
        curr *= x * x * ( counter - 2 ) / counter; // вычисляем очередной элемент ряда
        sum += curr; // прибавляем его к общей сумме
        counter += 2; // увеличиваем следующее число для вычисления очередного элемента ряда
    }
 
    sum *= 2; // вычисляем конечную сумму ряда
 
    return true; // так как все прошло гладко вернем true
}
Примеры работы программы:
1)
Код
Программа вычисляет сумму ряда для функции  ln( ( 1 + x ) / ( 1 - x ) )
Введите значение аргумента, | x | < 1: -0.9999
Введите точность вычислений, | epsilon | > 0: 0.00000001
Для заданного x: 
Сумма ряда с заданной точностью = -9.90335
Значение, вычисленное с помощью библиотечной функции -9.90344
2)
Код
Программа вычисляет сумму ряда для функции  ln( ( 1 + x ) / ( 1 - x ) )
Введите значение аргумента, | x | < 1: 2
Введите точность вычислений, | epsilon | > 0: 0.1
Введены неверные данные!
0
MrGluck
05.11.2013, 18:07
  #4

Не по теме:

Почему альфа версия? :)

0
UranFlex
05.11.2013, 18:13     Нужна программа на C++ для подсчёта ряда
  #5

Не по теме:

а вдруг где недочеты выявятся и меня наругают :)
А я скажу так это, версия alpha ведь только :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2013, 18:13

программа для подсчёта
Господа, кому это не займёт много времени Помогите написать программу пожалуйста,которая вычисляет...

Программа для подсчёта суммы
Необходима программа, которая будет набавлять проценты от первоначального числа по такой системе:...

Программа для подсчёта определителя
Подскажите, как именно данная программа вычисляет определитель, и почему когда задаётся размер...

программа для подсчёта времени
хочу написать программу, в которую можно будит вписывать время, например, 35 минут + 46 минут и она...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru