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

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

Восстановить пароль Регистрация
 
Alex_sandra
 Аватар для Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
31.03.2014, 22:02     Составить рекурсивную функцию #1
Ребят, помогите пожалуйста) очень нужно)

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

Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
C++ Составить рекурсивную функцию вычисления НОД
C++ 9.Составить рекурсивную функцию вычисления
Составить рекурсивную функцию, которая находит произведение n парных положительных чисел C++
Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
31.03.2014, 22:17     Составить рекурсивную функцию #2
Alex_sandra, используйте поиск,такое наверняка встречалось.
Alex_sandra
 Аватар для Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
31.03.2014, 22:18  [ТС]     Составить рекурсивную функцию #3
оно есть, но без решений) я пыталась)
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
31.03.2014, 22:18     Составить рекурсивную функцию #4
Alex_sandra, а сделать самостоятельно вы пытались?
Alex_sandra
 Аватар для Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
31.03.2014, 22:19  [ТС]     Составить рекурсивную функцию #5
нет, я не знаю как! знала бы, за помощью не обращалась!!
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
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;
}
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
31.03.2014, 22:23     Составить рекурсивную функцию #7
Alex_sandra, а вы можете сделать эту задачу не рекурсивно?

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

Не по теме:

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

ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
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;
}
интересно сколько я этот код писать буду
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
31.03.2014, 22:37     Составить рекурсивную функцию #9
Цитата Сообщение от ValeryS Посмотреть сообщение
вот как раз нерекрусивно она и решается
ValeryS, нерекурсивно она решается без особых проблем.Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
31.03.2014, 22:46     Составить рекурсивную функцию #10
Цитата Сообщение от S_el Посмотреть сообщение
ValeryS, нерекурсивно она решается без особых проблем.
извини с ТС попутал
Цитата Сообщение от S_el Посмотреть сообщение
Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
полностью поддерживаю
я и сам никогда не выкладываю листинги, только кусок реализации, и то только когда словами алгоритм трудней описать чем кодом
но после того как мы newb_programmer, решили эту рекурсию причем оба, с костылями в виде дополнительного аргумента( видать мысли сходятся)
уж не выложить то этот классический цикл

Добавлено через 1 минуту
причем заметил я там ошибку то допустил так что подумать все равно придется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 23:05     Составить рекурсивную функцию
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
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;
}
Yandex
Объявления
31.03.2014, 23:05     Составить рекурсивную функцию
Ответ Создать тему
Опции темы

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