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

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

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

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

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

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

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

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

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

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

10
S_el
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,690
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
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,690
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
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,690
31.03.2014, 22:23 7
Alex_sandra, а вы можете сделать эту задачу не рекурсивно?

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

Не по теме:

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

0
ValeryS
Модератор
7372 / 5573 / 707
Регистрация: 14.02.2011
Сообщений: 18,942
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
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,690
31.03.2014, 22:37 9
Цитата Сообщение от ValeryS Посмотреть сообщение
вот как раз нерекрусивно она и решается
ValeryS, нерекурсивно она решается без особых проблем.Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
1
ValeryS
Модератор
7372 / 5573 / 707
Регистрация: 14.02.2011
Сообщений: 18,942
31.03.2014, 22:46 10
Цитата Сообщение от S_el Посмотреть сообщение
ValeryS, нерекурсивно она решается без особых проблем.
извини с ТС попутал
Цитата Сообщение от S_el Посмотреть сообщение
Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
полностью поддерживаю
я и сам никогда не выкладываю листинги, только кусок реализации, и то только когда словами алгоритм трудней описать чем кодом
но после того как мы newb_programmer, решили эту рекурсию причем оба, с костылями в виде дополнительного аргумента( видать мысли сходятся)
уж не выложить то этот классический цикл

Добавлено через 1 минуту
причем заметил я там ошибку то допустил так что подумать все равно придется
0
S_el
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,690
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

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

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

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


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

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

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