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

Разработать рекурсивную функцию, не возвращающую значений

20.08.2014, 16:47. Показов 3519. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную функцию для нахождения n-го члена и суммы п первых членов прогрессии.
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
#include "iostream"
#include "conio.h"
#include "math.h"
using namespace std;
void Progres(int n, float q,float b1,int i)
{
    float b,s;
        if (i==1) 
        {
            b=b1;s=b1;
        }
        if (i>1) 
        {
            b=b1*pow(q,i-1);
            s+=b;
            
        }
    i--; 
    if (i==0) cout<<"b="<<b<<"\ts="<<s<<endl;
    Progres(i,q,b1,i);
}
int main()
{ 
    int n; float q,b1;
    cout<<"b1="; cin>>b1;
    cout<<"q="; cin>>q;
    cout<<"n="; cin>>n;
    Progres(n,q,b1,n);
    getch();
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2014, 16:47
Ответы с готовыми решениями:

Разработать рекурсивную функцию, возвращающую значение:
для вычисления значения функции Аккермана для неотрицательных чисел n и m. Функция Аккермана определяется следующим образом:

Разработать рекурсивную функцию, возвращающую значение
Разработать рекурсивную функцию, возвращающую значение: для вычисления значения функции:

Разработать рекурсивную функцию, возвращающую значение нахождения наибольшего общего делителя методом Евклида
Решите пожалуйста, завтра необходимо сдать. Разработать рекурсивную функцию, возвращающую значение: 4. для нахождения наибольшего...

7
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
20.08.2014, 18:08
Разработать рекурсивную функцию, не возвращающую значений
Ох, кажется более бредового задания я еще не видел
0
20.08.2014, 18:50

Не по теме:

Цитата Сообщение от Voivoid Посмотреть сообщение
Ох, кажется более бредового задания я еще не видел
- более бредового ответа я тоже

0
0 / 0 / 0
Регистрация: 16.08.2014
Сообщений: 21
20.08.2014, 18:58  [ТС]
Цитата Сообщение от Voivoid Посмотреть сообщение
Ох, кажется более бредового задания я еще не видел
Не я создавала эти задания. да была бы обычная функция все легко, но которая не возвращает значение у меня не получается
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
20.08.2014, 19:01
Цитата Сообщение от July Посмотреть сообщение
C++
1
2
3
4
5
void Progres(int n, float q,float b1,int i)
{
  // ... 
  Progres(i,q,b1,i);
}
Это можно назвать "бесконечная рекурсия".

Цитата Сообщение от July Посмотреть сообщение
Написать рекурсивную функцию
Рекурсивная функция должна содержать проверку условия - продолжать рекурсию или нет.
C++
1
2
3
4
5
6
7
8
9
10
11
void F(...)
{
    // ... 
    if( продолжить  ) 
    {
        F(...);
    }else
    {
        // или больше не надо выполнять рекурсивный вызов  
    }
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.08.2014, 19:02
Лучший ответ Сообщение было отмечено July как решение

Решение

July, держите
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
#include <iostream>
using namespace std;
 
void rekurs_calc(int nmax, int n, float q, float &b, float &s);
 
int main(){
    int   n = 3;
    float b = 1;
    float q = 2;
    float s = 0;
    rekurs_calc(n, n, q, b, s);
    cin.get();
    return 0;
}
 
void rekurs_calc(int nmax, int n, float q, float &b, float &s){
    
    if( n ){
        b = b*q;
        s = s + b;
        cout<<"n = "<<nmax - n<<" b= "<<b<<" q= "<<q<<" sum= "<<s<<endl; 
        rekurs_calc(nmax, --n, q, b, s);
    }
    
}
n = 0 b= 2 q= 2 sum= 2
n = 1 b= 4 q= 2 sum= 6
n = 2 b= 8 q= 2 sum= 14
http://codepad.org/Af0jTtO6
1
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
20.08.2014, 19:11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Element( long n, float b1, float q, float& elem )
{
    if( нужен первый элемент )
    {
        elem = b1;
        return;
    }else{
        // вычислим  (n-1)-й элемент 
        Element( n-1 .... );
        // и умножим на знаменатель прогрессии
        elem *= q;
        return;
    }
}
0
0 / 0 / 0
Регистрация: 16.08.2014
Сообщений: 21
21.08.2014, 14:35  [ТС]
спасибо большое))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2014, 14:35
Помогаю со студенческими работами здесь

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

Разработать рекурсивную функций, возвращающую значение для нахождения НОД методом Евклида
разработать рекурсивную функций,возвращающую значение для нахождения НОД методом Евклида НОД(a,b)=а,если a=b ...

Напишите рекурсивную функцию, возвращающую сумму положительных элементов массива
Выдает ошибку и выводит 0 #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; int k = 0; int s = 0; const int SIZE = 3;...

Разработать функцию, возвращающую младшую цифру заданного натурального числа
Разработать функцию f(x), которая возвращает младшую цифру натурального числа х. Вычислить с помощью нее значение выражения z=f(a)+f(b). ...

Разработать рекурсивную функцию, возвращающую значение:
Разработать рекурсивную функцию, возвращающую значение для вычисления наибольшего значения в одномерном массиве


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru