Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
kryasan
-22 / 0 / 1
Регистрация: 19.10.2011
Сообщений: 38
#1

Рекурсивная функция вычисления суммы бесконечного ряда - C++

28.02.2012, 12:13. Просмотров 1243. Ответов 8
Метки нет (Все метки)

Всем привет) Объясните кто нибудь как это можно сделать?)

http://www.cyberforum.ru/cpp-beginners/thread2157569.html

0
Миниатюры
Рекурсивная функция вычисления суммы бесконечного ряда  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2012, 12:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Рекурсивная функция вычисления суммы бесконечного ряда (C++):

Рекурсивная функция суммы ряда
Написать рекурсивную программу, которая считала бы сумму элементов следующего...

Рекурсивная функция для нахождения суммы ряда
Создайте рекурсивную функцию для нахождения суммы s=Σ(x^n/n) выдает...

Программа вычисления суммы членов бесконечного числового ряда
Здравствуйте. Нужна помощь в такой задаче. Не могу разобраться в ней....

Составить программу для вычисления суммы бесконечного ряда с погрешностью
Составить программу для вычисления суммы бесконечного ряда с погрешностью ε =...

Составить программу для вычисления суммы бесконечного ряда с погрешностью
Составить программу для вычисления суммы бесконечного ряда...

8
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 14:17 #2
На сколько я понял требуется вычислить с помощью ряда значение cos( pi / 6 ).
Вот мое решение.
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
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
 
#define EPS 5E-4
// Если компилятор не знает что такое M_PI, то раскомментировать следующую строку
//#define M_PI 3.14159265358979323846
 
unsigned factorial( unsigned n ) {
    if ( n <= 1 )
        return 1;
    return ( n * factorial( n - 1 ) );
}
 
double cos_series_pi_6( double eps ) {
    static unsigned n = 0;
    ++n;
 
    double curr = pow( -1, n ) * pow( ( M_PI / 6 ), 2 * n )
            / factorial( 2 * n );
 
    if ( abs( curr ) < eps )
        return 1;
 
    return curr + cos_series_pi_6( eps );
 
}
 
int main() {
    // вычисляем pi/6
    cout << cos( M_PI / 6 ) << endl; // с помощью библиотечной функции
    cout << cos_series_pi_6( EPS ) << endl; // с помощью нашей функции
 
    return 0;
}
Консоль
0.866025
0.866054
1
kryasan
-22 / 0 / 1
Регистрация: 19.10.2011
Сообщений: 38
28.02.2012, 14:37  [ТС] #3
пишет pow: неоднозначный вызов перегруженной функции
0
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 14:59 #4
А у меня ничего не пишет.
К тому же в cmath прототип есть функции pow(_Tp __x, _Up __y)

Не по теме:

компилятор gcc, среда eclipse.



Добавлено через 4 минуты
Попробуйте использовать так:
C++
1
pow( (double) value, power )
соответственно вместо value и power подставив переменные или значения, используемые в коде программы.
1
kryasan
-22 / 0 / 1
Регистрация: 19.10.2011
Сообщений: 38
28.02.2012, 15:07  [ТС] #5
в 20 строке придиралось к первому и второму pow, сейчас только ко второму
0
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 15:15 #6
Не знаю что у Вас за компилятор, для меня странно, что он выводит предупреждения на данную строку.
Пробуйте так:
C++
1
double curr = pow( -1.0, n ) * pow( ( double )( M_PI / 6 ), 2 * n )
1
MrCold
859 / 757 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
28.02.2012, 15:17 #7
C++
1
double curr = pow( -1.0, (double)n ) * pow( ( M_PI / 6.0 ), 2.0 * n )
под MSVS
1
kryasan
-22 / 0 / 1
Регистрация: 19.10.2011
Сообщений: 38
28.02.2012, 15:19  [ТС] #8
все равно ругается

Добавлено через 1 минуту
Цитата Сообщение от MrCold Посмотреть сообщение
double curr = pow( -1.0, (double)n ) * pow( ( M_PI / 6.0 ), 2.0 * n )
спасибо, теперь все работает)
0
Roof
28.02.2012, 15:29     Рекурсивная функция вычисления суммы бесконечного ряда
  #9

Не по теме:

Ух ты, показатель не может быть целым числом, очень интересно какой логикой руководствовались создатели?

0
28.02.2012, 15:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2012, 15:29
Привет! Вот еще темы с ответами:

Рекурсивная функция для вычисления суммы элементов арифметической прогрессии
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int pr(int n, int a1, int d,int sum)...

Написать программу и рекурсивную функцию для вычисления значения суммы бесконечного ряда с заданной точностью
Написать программу и рекурсивную функцию для вычисления значения суммы...

Функция вычисления суммы ряда ln(x)
Здравствуйте поставили задачу написать программу на вычисление суммы ряда вида...

Функция для вычисления суммы члена ряда. Не могу найти ошибку
Условие: Разработать функцию для вычисления члена ряда: (-1)^n/(n+1)!...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru