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

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

Войти
Регистрация
Восстановить пароль
 
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
#1

Рекурсия - C++

14.12.2013, 10:34. Просмотров 273. Ответов 6
Метки нет (Все метки)

Привет.
Только что узнал,что такое рекурсия и понял как она работает,но написать участок кода с рекурсией мозгов не хватает.
Нужно написать внешнюю функцию involution,которая принимает аргумент из main,равный 2.Она возводит его в квадратную степень с помощью рекурсии,пока не получится число 16 и возвращает 16 в main.
В принципе всё просто,но у меня возникли проблемы.
И прошу писать простым кодом,т.к. я новичок и многого могу не понять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 10:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсия (C++):

Рекурсия - C++
Есть функция, в нее передается массив из n элементов. Функция находит минимальный элемент и считает сколько раз он встречается в массиве,...

Рекурсия - C++
Разработать рекурсивную функцию не возврашающую значений: Дано натуральное четное число n. Разработать функцию для вывода на экран...

Рекурсия - C++
Есть такой код. В нем рисуется что то вроде линейки. Данный код предназначен для иллюстрации работы рекурсии. Может мне кто нибудь...

РЕкурсия - C++
Мне нужно 5 задач по рекурсии с решениями,)))есмли не сложно-помогите, может ссылочку куда или что-нибудь)))заранее благодарен

рекурсия - C++
Всем доброго времени суток. Есть рекурсивная функция выводящая числа от 15 до 10 по убыванию, как сделать чтоб выводило эти же числа но...

Рекурсия - C++
Сделайте одну програмку используя рекурсию. Очень нужно... Срочно. 1. Реализовать поиск НОД; 2. Возвести число в целую степень; ...

6
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
14.12.2013, 11:05 #2
C++
1
2
3
4
5
6
7
8
int f(int val) {
    val *= val;
    return val!=16 ? f(val) : val;
/* аналог
if (val!=16) return f(val);
else return val;
*/
}
1
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
14.12.2013, 11:56  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int solution(int c)
{  int c=c*2;
   if(c!=16) return solution(c);
   else cout<<"c="<<c<<endl;
   
}
 
int main()
{ 
    int a=2;
    solution(a);
    system("pause");
}
Ошибка:переопределение формального параметра "c"
Как исправить ошибку?
0
Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
14.12.2013, 12:05 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int solution(int c)
{  int c=c*2;
   if(c>=16) return solution(c);
   else cout<<"c="<<c<<endl;
   
}
 
int main()
{ 
    int a=2;
    solution(a);
    system("pause");
}
0
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
14.12.2013, 12:05 #5
Цитата Сообщение от Игорюня Посмотреть сообщение
(int c)
{ *int c=c*2;
повторное объявление то зачем?
C++
1
2
(int c)
{ c=c*2;
2
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
14.12.2013, 12:25  [ТС] #6
Цитата Сообщение от monolit Посмотреть сообщение
повторное объявление то зачем?
C++
1
2
(int c)
{ c=c*2;
Спасибо,теперь всё заработало.
0
vua72
416 / 416 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
14.12.2013, 13:49 #7
C++
1
2
3
4
int pow2(int val, int stop){
    if(val==stop) return val;
    else return pow2(val<<1, stop);
}
0
14.12.2013, 13:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 13:49
Привет! Вот еще темы с ответами:

Рекурсия - C++
Сегодня баловался с рекурсией. получилось типа цикла, только из функции #include &lt;iostream&gt; using namespace std; unsigned...

Рекурсия - C++
Помогите пожалуйста как это можно написать. Y=(2*n+1)!!*(2*m+1)!!/(2*(m+n)+1)!!,где m,n неотрицательные целые числа.Для определения...

рекурсия - C++
Доброго времени суток. Уважаемые ГУРУ, есть одна проблема. Ниже представлен код, в котором параметр b должен быть всегда...

Рекурсия - C++
Вот какой самый простой пример рекурсии я обнаружил в интернете: #include &lt;iostream&gt; using namespace std; int factorial(int n) { ...


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

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

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