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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
OgStyle
11 / 5 / 1
Регистрация: 18.11.2012
Сообщений: 114
#1

Рекурсивная функция - C++

18.11.2012, 15:24. Просмотров 312. Ответов 2
Метки нет (Все метки)

Здравствуйте. Хочу попросить вас о помощи, так как я только начинаю изучать язык программирования с++

Задание таке:

Написать рекурсивную функцию, которая возводит число в степень путем многократного умнажения числа самого на себя т.е. если число например равно 2 а степень 4 возврат функции 16.

Я смог написать все кроме самой рекурсивной части так сказать) не знаю как же это все прилепить. можете помочь? вот уже готовый код программы. для степеня 0 и 1 что должно возвращаться понятно поэтому это я написал.. а вот дальше не знаю((


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
#include <iostream>
using namespace std;
 
float funcStep(float n, int s);
 
int main()
    {   
        float n,resault;
        int s;
 
        cout<<"Input your number and stepin -> ";
        
            cin>>n>>s;
        
                resault=funcStep(n,s);
        
        cout<<"\n\nResault obchuslenna -> "<<resault<<endl;
 
    }
 
float funcStep(float n, int s)
    {
        if(s==1)
            return n;
 
        else if(s==0)
            return 1;
        
        else
            
        
 
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 15:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция (C++):

Рекурсивная функция C++ - C++
Сосчитать f(y)=3y+5, yk - входное данное.

рекурсивная функция - C++
Разработать рекурсивную функцию, удаляющую из строки все лишние пробелы. Пробелы считаются лишними, если их подряд идет более двух, если...

Рекурсивная функция - C++
Принять с клавиатуры натуральное число N. Написать рекурсивную функцию, которая будет выводить слово YES, если число N является точной...

Рекурсивная функция - C++
Задание: Составить программу для счисления сумы К членов строки, где К определяется ||Uk| -|Um||&lt; е и е - наперед задана точность...

Рекурсивная функция! - C++
Разработать рекурсивную функцию, возвращающую значение , для вычисления n-го члена последовательности b1 =5, bn+1=bn/(n2+n+1). Не знаю...

Рекурсивная функция С++ - C++
Написать рекурсивную функцию (+ саму программу), которая подсчитывает сумму элементов одномерного массива.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
18.11.2012, 15:31 #2
Начнем с того, что вы используете тип float и возвращать в ф-ции такого типа единицу ну никак нельзя. Допустимо возвращать единицу вот таким методом.
return 1.0F;
Через операторы if else вы умаетесь проверять. В таких случаях пользуются циклами.

C++
1
2
3
4
5
6
7
8
9
float funcStep(float n, int s)
{
    float result = 1;
    
    for (int i=0; i < s; ++i)
        result *= n;
 
    return result;
}
0
OgStyle
11 / 5 / 1
Регистрация: 18.11.2012
Сообщений: 114
18.11.2012, 15:44  [ТС] #3
Спасибо большое вам за ответ. Этот метод решения задачи я знаю, и согласен что циклом такое решить проще. Но задание состоит в том чтобы вернуть результат рекурсивно. тоесть чтобы функция работала как цикл - определенное количество раз (s) вызвала сама себя, остановилась когда достигла числа (s) тоесть степеня и вернула результат. Эту задачу я нашел в учебнике по теме рекурсивные функции. вот и пытаюсь ее решить)

Добавлено через 5 минут
Задачу решил) додумался)) рекурсивно решить так

return n* funcStep(n,s-1);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 15:44
Привет! Вот еще темы с ответами:

Рекурсивная функция - C++
Походу что-то с массивами не то, когда ввожу слишком большое число (15+), то выбивает ошибку с кучами\стеками, которую я не понимаю. ...

рекурсивная функция - C++
Описать рекурсивную функцию вычисления значения по указанной формуле. Понимаю, что программа совсем лёгкая, но я никак не могу свыкнуться...

рекурсивная функция - C++
написал программу вот такую как ее оформить в виде рекурсивной функции . эта программа проверяет на палиндром строку от i до j ...

Рекурсивная функция - C++
Есть произведение n сомножителей вида (2*2)/(1*3) * (4*4)/(3*5) * ... Если не сложно, где я сделал ошибку в его подсчёте? double...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru