Форум программистов, компьютерный форум CyberForum.ru

Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии - C++

Восстановить пароль Регистрация
 
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
21.04.2013, 17:34     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии #1
помогите пожалуйста разобраться с задачей:
Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 17:34     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии
Посмотрите здесь:

C++ Написать программу для нахождения суммы членов арифметической прогрессии
C++ Написать рекурсивную функцию для нахождения заданного члена прогрессии и суммы n первых членов прогрессии
Написать рекурсивную функцию нахождения n-элемента арифметической прогрессии C++
C++ Рекурсия: нахождения суммы n первых членов геометрической прогрессии
C++ Написать рекурсивную функцию для вычисления суммы ряда
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
21.04.2013, 20:05     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Nikita9413,

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
#include <iostream>
using namespace std;
 
void sum_progression(int _a, int _d, int _n, int _count, int _sum){
    if(_count == _n)            
        cout << "Sum of the elements of progression: " << _sum << endl;
    else{
        _sum += _a;                 
        sum_progression(_a + _d, _d, _n, _count + 1, _sum);
    }
}
 
void search_term_progression(int _d, int _n, int _count, int _number){
    if(_count == _n - 1)
        cout << "desired element of the progression: " << _number << endl;
    else{
        search_term_progression(_d, _n, _count + 1, _number + _d);
    }
}
 
int main()
{
    int a, d, n, count(0);
 
    cout << "Enter the first element of progression: ";
        cin >> a;
 
    cout << "Enter the difference of progression: ";
        cin >> d;
 
    cout << "Enter the number of an element of progression: ";
        cin >> n;
 
    sum_progression(a, d, n, count, 0);
    search_term_progression(d, n, count, a);
 
    cout << "\n\n";
    return 0;
}
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
21.04.2013, 20:09  [ТС]     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии #3
извиняюсь за наглость, а можно с пояснением. буду благодарен)
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
21.04.2013, 20:14     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Nikita9413, сначала написать, сейчас)

Добавлено через 4 минуты
Nikita9413,

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
#include <iostream>
using namespace std;
 
/*рекурсивная функция для подсчета суммы элементов прогрессии*/
void sum_progression(int _a, int _d, int _n, int _count, int _sum){
    if(_count == _n)        
        //если дошли до n-го элемента, выводим сумму
        cout << "Sum of the elements of progression: " << _sum << endl;
    else{
        //иначе суммируем и продолжаем
        _sum += _a;                 
        sum_progression(_a + _d, _d, _n, _count + 1, _sum);
    }
}
 
/*рекурсивная функция для поиска n-го члена прогрессии*/
void search_term_progression(int _d, int _n, int _count, int _number){
    if(_count == _n - 1)    
        //идем до n-1 так как первый элемент учтен сразу
        cout << "desired element of the progression: " << _number << endl;
    else{
        //продолжаем пока не дойдем до нужного элемента
        search_term_progression(_d, _n, _count + 1, _number + _d);
    }
}
 
int main()
{
    int a,          //первый элементи
        d,          //разность прогрессии
        n,          //номер элемента
        count(0);   //счетчик для суммирования
 
    cout << "Enter the first element of progression: ";
        cin >> a;
 
    cout << "Enter the difference of progression: ";
        cin >> d;
 
    cout << "Enter the number of an element of progression: ";
        cin >> n;
 
    sum_progression(a, d, n, count, 0);     //вызываем функцию для суммирования
    search_term_progression(d, n, count, a);    //вызываем функцию для поиска элемента
 
    cout << "\n\n";
    return 0;
}
Nikita9413
0 / 0 / 0
Регистрация: 09.04.2013
Сообщений: 49
21.04.2013, 20:22  [ТС]     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии #5
спасибо)
Apollo1222
1 / 1 / 0
Регистрация: 10.10.2016
Сообщений: 45
01.11.2016, 10:42     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии #6
yoghurt92, а как сделать чтобы саму прогрессию тоже выводило?
Yandex
Объявления
01.11.2016, 10:42     Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии
Ответ Создать тему
Опции темы

Текущее время: 13:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru