Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
#1

Составить рекурсивную функцию - C++

31.03.2014, 22:02. Просмотров 339. Ответов 10
Метки нет (Все метки)

Ребят, помогите пожалуйста) очень нужно)

Определить число, которое получается, если записать цифры заданного натурального числа в
обращенном порядке (использовать рекурсивной функцией)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 22:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Составить рекурсивную функцию (C++):

Составить рекурсивную и нерекурсивную функцию
Найти сумму: 1^2+3^2+5^2+7^2... (n слагаемых). Буду очень признательна.

9.Составить рекурсивную функцию вычисления
11. Составить рекурсивную функцию вычисления Для получения функции в явном...

Составить рекурсивную функцию вычисления НОД
Даны натуральные числа n и m; Найти НОД(n,m). составить рекурсивную функцию...

Составить рекурсивную функцию определяющую содержится ли элемент в массиве
Составить рекурсивную функцию логического типа, которая определяет, содержится...

Составить рекурсивную функцию, которая находит цифровой корень целого числа
Составить рекурсивную функцию, которая находит цифровой корень целого числа....

Составить рекурсивную функцию, которая находит произведение n парных положительных чисел
Помогите пожалуйста с задачей! Составить рекурсивную функцию, которая находит...

10
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,596
31.03.2014, 22:17 #2
Alex_sandra, используйте поиск,такое наверняка встречалось.
0
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
31.03.2014, 22:18  [ТС] #3
оно есть, но без решений) я пыталась)
0
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,596
31.03.2014, 22:18 #4
Alex_sandra, а сделать самостоятельно вы пытались?
0
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
31.03.2014, 22:19  [ТС] #5
нет, я не знаю как! знала бы, за помощью не обращалась!!
0
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
31.03.2014, 22:21 #6
Alex_sandra,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int rev(int num,int res){
    if (num==0)
        return res;
    else {
        res*=10;
        res+=num%10;
        num/=10;
        res=rev(num,res);
    }
}
 
int main(){
    int res=0,num=123;
    res=rev(num,res);
    cout<<res;
    system("pause");
    return 0;
}
1
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,596
31.03.2014, 22:23 #7
Alex_sandra, а вы можете сделать эту задачу не рекурсивно?

Добавлено через 1 минуту

Не по теме:

А,уже не актуально :(

0
ValeryS
Модератор
7134 / 5402 / 669
Регистрация: 14.02.2011
Сообщений: 18,226
31.03.2014, 22:33 #8
Ну вот каким боком здесь рекурсия?

пришлось костыли вставлять
проверяй
C++
1
2
3
4
5
6
7
8
9
10
int fnc( int n, int m=0)
{
 
  if(n==0)
     return m;
    m=*10;
    m+=n%10;
  return fnc(n/10,m)
 
 }
Добавлено через 2 минуты
Цитата Сообщение от S_el Посмотреть сообщение
lex_sandra, а вы можете сделать эту задачу не рекурсивно?
вот как раз нерекрусивно она и решается
цикл обыкновенный
C++
1
2
3
4
5
6
7
int m=0
while (n)
{
     m=*10;
    m+n%10;
 n/=10;
}
интересно сколько я этот код писать буду
0
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,596
31.03.2014, 22:37 #9
Цитата Сообщение от ValeryS Посмотреть сообщение
вот как раз нерекрусивно она и решается
ValeryS, нерекурсивно она решается без особых проблем.Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
1
ValeryS
Модератор
7134 / 5402 / 669
Регистрация: 14.02.2011
Сообщений: 18,226
31.03.2014, 22:46 #10
Цитата Сообщение от S_el Посмотреть сообщение
ValeryS, нерекурсивно она решается без особых проблем.
извини с ТС попутал
Цитата Сообщение от S_el Посмотреть сообщение
Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
полностью поддерживаю
я и сам никогда не выкладываю листинги, только кусок реализации, и то только когда словами алгоритм трудней описать чем кодом
но после того как мы newb_programmer, решили эту рекурсию причем оба, с костылями в виде дополнительного аргумента( видать мысли сходятся)
уж не выложить то этот классический цикл

Добавлено через 1 минуту
причем заметил я там ошибку то допустил так что подумать все равно придется
0
S_el
2133 / 1661 / 354
Регистрация: 15.12.2013
Сообщений: 6,596
31.03.2014, 23:05 #11
Цитата Сообщение от ValeryS Посмотреть сообщение
извини с ТС попутал
ValeryS, бывает,сам не очень внимательный

А вот и не рекурсивный код:

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
#include <iostream>
using namespace std;
int func_kol(int num);
 
int main()
{
int x,w,res=0,i;
cout<<"Vvedute 4uslo"<<endl;
cin>>x;
w=func_kol(x);
 
for(i=w-1;i>=0;i--)
{
    res=res+x%10*pow(10,i);
    x /= 10;
}
 
cout<<res<<endl;
cin.get();
cin.get();
 
return 0;
}
 
int func_kol(int num)
{
    int kol=0;
    while (num != 0) {
        
        num /= 10;
        kol++;
    }
    return kol;
}
0
31.03.2014, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 23:05
Привет! Вот еще темы с решениями:

Составить рекурсивную функцию, которая находит цифровой корень целого числа
помогите решить задачу на С++ Составить рекурсивную функцию, которая находит...

Составить рекурсивную функцию, которая определяет, содержится ли определенная цифра в данном числе
bool containsDigit(int number, int digit); Примеры containsDigit(143, 1);...

Составить программу, которая находит n-е число Фибоначчи. Использовать в задаче рекурсивную функцию

Составить рекурсивную функцию, которая находит наименьший элемент массива из реальных чисел
double min(double* arr, int n); Примеры double arr = {4.1, 2.0, 5.3, 7.2};...


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

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

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