Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 15:05   #1
Krab_npopok
Пользователь
 
Регистрация: 25.12.2013
Сообщений: 11
Сообщение C++ Рекурсивная функция

Написать рекурсивную функцию recs_row(n), которая вычисляет сумму ряда
S = Sin(1) + Sin(4) + ... + Sin(n*n), где n-вещественное число.
Krab_npopok вне форума Ответить с цитированием
Старый 26.12.2013, 15:51   #2
Krab_npopok
Пользователь
 
Регистрация: 25.12.2013
Сообщений: 11
По умолчанию

Решил. Вот код, получившейся программы. С++

Код:
#include <iostream>
#include <cmath>
using namespace std;

void main ()
{
 double n, i;
 double S = 0;
 setlocale(0, "Russian");
 cout << "Введите n: "; cin >> n;
 for ( i = 1; i <= n; i++)
  {
   S = S + sin(i*i);
     }
 cout << "S = " << S << endl;
 system ("pause");
}
Krab_npopok вне форума Ответить с цитированием
Старый 26.12.2013, 16:31   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Практически, только в решении нет рекурсивной функции.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.12.2013, 23:00   #4
Krab_npopok
Пользователь
 
Регистрация: 25.12.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Практически, только в решении нет рекурсивной функции.
Видимо я не так понял суть задачи А как тогда будет верно, если не трудно объяснить.
Krab_npopok вне форума Ответить с цитированием
Старый 26.12.2013, 23:17   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Вы получите верный ответ, но не выполните условий задачи. Во-первых, требуется наличие функции. Во-вторых, функция должна быть рекурсивной, то есть вызывать сама себя.
Код:
float recs_row(int n)
{
    if (n == 0)
        return 0;
    return sin(n * n) + recs_row(n - 1);
}
...
S = recs_row(10);
Код не тестировал - сами это сделаете, просто выведя посчитанный S по Вашему коду и результат этой функции (cout << recs_row(n); ).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.12.2013, 23:30   #6
Krab_npopok
Пользователь
 
Регистрация: 25.12.2013
Сообщений: 11
По умолчанию

Благодарю. Код переделал под условие задачи что n - вещественное число.
Получилось вот что:
Код:
float recs_row(double n)
{
    if (n == 0)
        return 0;
    return sin(n * n) + recs_row(n - 1);
}
...
S = recs_row(n);
Krab_npopok вне форума Ответить с цитированием
Старый 26.12.2013, 23:36   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Проморгал, что n - вещественное. Лучше написать условие:
Код:
if (n < 1E-4)
    return 0;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.12.2013, 23:38   #8
Krab_npopok
Пользователь
 
Регистрация: 25.12.2013
Сообщений: 11
По умолчанию

Код:
if (n < 1E-4)
Можете сказать что это означает?
Krab_npopok вне форума Ответить с цитированием
Старый 26.12.2013, 23:42   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Это означает, что n меньше 0.0001.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.12.2013, 23:45   #10
Krab_npopok
Пользователь
 
Регистрация: 25.12.2013
Сообщений: 11
По умолчанию

Спасибо за помощь
Krab_npopok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсивная функция Solidera Помощь студентам 6 02.04.2013 09:45
Рекурсивная функция Alerq Паскаль, Turbo Pascal, PascalABC.NET 2 17.04.2011 18:42
Рекурсивная функция Ангелина-ванила Помощь студентам 2 01.12.2010 10:21
рекурсивная функция)) vedro-compota Общие вопросы Delphi 8 16.04.2010 14:39
Си++. Рекурсивная функция. Diamond2107 Помощь студентам 6 02.12.2009 19:48