Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 1 / 1
Регистрация: 17.04.2020
Сообщений: 13

Используя рекурсивную функцию вычислить сумму ряда

17.04.2020, 21:03. Показов 2726. Ответов 4

Студворк — интернет-сервис помощи студентам
Необходимо, используя рекурсивную функцию, вычислить выражение 1/2+3/4+5/6+...+(n-1)/n.

Выдает ошибку: использована неинициализированная локальная переменная. C++ только осваиваю и не могу понять как эо исправить.

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
#include <iostream>
#include <string>
using namespace std;
 
int rec(int n)
{
    int s;
    for (int i = 1; i < n; i++)
    {
        s = s + i / (i+1);
    }
    return s;
}
 
int main()
{
    setlocale(0, "");
    int n;
    int s;
    s = 0;
    cout << "Введите N: ";
    cin >> n;
    s = rec(n);
    cout << "Сумма = ";
    cout << s ;
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2020, 21:03
Ответы с готовыми решениями:

Найти сумму ряда используя рекурсивную функцию
Нужно найти сумму S=1/sin(1)+1/(sin(1)+sin(2))+1/(sin(1)+sin(2) ... +sin(n)). Очень срочно!!

Найти сумму ряда используя рекурсивную функцию
Нужно найти сумму S=1/sin(1)+1/(sin(1)+sin(2))+1/(sin(1)+sin(2) ... +sin(n)). Есть рекурсивная функция,но билдер выбивает ошибку. Помогите...

Вычислить сумму, используя рекурсивную функцию
\sum_{k=1}^{15} \left|sin\frac{k}{3,12}+cos{k}^{2} \right| -8,3sin3k Заранее благодарен

4
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.04.2020, 21:05
Начальное значение s установи.
Да и рекурсии у тебя нет.
0
2 / 1 / 1
Регистрация: 17.04.2020
Сообщений: 13
17.04.2020, 21:09  [ТС]
если в функции присваиваю s=0, то в результате получается 0
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
17.04.2020, 21:17
Лучший ответ Сообщение было отмечено zkan04 как решение

Решение

Цитата Сообщение от zkan04 Посмотреть сообщение
в результате получается 0
это потому, что i/(i+1) равно нулю для любого i>=0
Напишите
i/(i+1.0) тогда будет правильно

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
#include <iostream>
using namespace std;
 
double rec(int n)
{
    if (n < 2)
        return 0;
    return(n-1.0)/n+rec(n-2);
}
 
int main()
{
    setlocale(0, "");
    int n;
    cout << "Введите N: ";
    cin >> n;
    if (n % 2 == 1) // n обязано быть четным
        n++;
    double s = rec(n);
    cout << "Сумма = ";
    cout << s;
    system("pause");
    return 0;
}
1
2 / 1 / 1
Регистрация: 17.04.2020
Сообщений: 13
17.04.2020, 21:29  [ТС]
Спасибо ограмное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2020, 21:29
Помогаю со студенческими работами здесь

Вычислить сумму, используя рекурсивную функцию
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.

Дано натуральное число n. Вычислить сумму используя рекурсивную функцию
Sn=1/1*3+2/3*5+3/5*7+..+n/(2n-1)(2n+1); Понимаю, что ошибка в рекурсии, но не понимаю рекурсию:cry: #include &lt;iostream&gt; ...

Вычислить сумму степеней, используя рекурсивную функцию возведения в степень
Водится любое целое число b и вещественные a, c. Вычислить z=ab + cb, используя рекурсивную функцию xn xn = 1, если n = 0 xn = 1/x-n,...

Вычислить сумму степеней, используя рекурсивную функцию возведения в степень
Водится любое целое число b и вещественные a, c. Вычислить z=ab + cb, используя рекурсивную функцию xn xn = 1, если n = 0 xn...

Используя рекурсивную подпрограмму вычислить произведение ряда
Язык C++. Вычислить выражение: a*(a-n)*(a-2*n)*...*(a-n^2)


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru