Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Гаряка Асмик
Статус: Профессионал
Рейтинг: 4632
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2484
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 1992
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1574
Дата выхода:08.10.2010, 18:00
Администратор рассылки:Verena, Профессионал
Подписчиков / экспертов:341 / 172
Вопросов / ответов:1 / 2

Вопрос № 180138: Помогите с написание программы через рекуррентность задание здесь http://www.cyberforum.ru/post976034.html я написал так, но надо через рекуррентность #include <math.h> double factorial(double); double calculate(double, int);


Вопрос № 180138:

Помогите с написание программы через рекуррентность задание здесь http://www.cyberforum.ru/post976034.html я написал так, но надо через рекуррентность

#include <math.h>
double factorial(double);
double calculate(double, int);

double factorial(double n)
{
double i;


for (i = n - 1.0; i > 1.0; i -= 1.0)
n *= i;

return (n == 0.0) ? 1.0 : n;
}

double calculate(double x, int K)
{
double sum = 0.0;
int p;
double n;
int i;

for (i = -1, n = 0.0, p = 0; n < K; n += 1.0)
{
sum += pow(-1.0, p) * pow(x, ++i) / factorial(2.0 * n + 1.0);

if (i % 2 != 0)
{
i += 2;
p++;
}
}

return sum;
}

Отправлен: 03.10.2010, 17:55
Вопрос задал: March, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает relict123, 1-й класс :
Здравствуйте, March!

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

Приложение:

Ответ отправил: relict123, 1-й класс
Ответ отправлен: 03.10.2010, 19:26
Номер ответа: 263309

Оценка ответа: 5

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263309 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает lamed, Профессионал :
    Здравствуйте, March! Code::Blocks/G++.
    Код:
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    using namespace std;

    double calculate(const double, const int);

    int main()
    {
    int k;
    double x;
    double result;
    double member=1.0;

    do
    {
    cout << "Input k: ";
    cin >> k;

    if (k <= 0)
    cout << "K must be greater than or equal to zero! Try..." << endl << endl;
    } while (k <= 0);

    cout << "Input x: ";
    cin >> x;

    result = calculate(x, k);
    cout &l t;< "Result: " << result << endl;

    system("Pause");

    return 0;
    }

    double calculate(const double x, const int k)
    {
    int i;
    double a; // член последовательности
    double s; // частичная сумма
    for (i=2, a=1.0, s=1.0; i<=k; i++)
    {
    a *= x/((2*i-2)*(2*i-1));
    if (i%2!=0)
    a*=-x*x;
    s+=a;
    }
    return s;
    }
    Если требуются комментарии - задавайте вопросы.

    Ответ отправил: lamed, Профессионал
    Ответ отправлен: 03.10.2010, 20:48
    Номер ответа: 263312

    Оценка ответа: 5

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263312 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.22 от 04.10.2010

    В избранное