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

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

Войти
Регистрация
Восстановить пароль
 
Alex_sandra
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 15
#1

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

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

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

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

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

9.Составить рекурсивную функцию вычисления - C++
11. Составить рекурсивную функцию вычисления Для получения функции в явном виде рассмотрим ее последовательные значения:f(0)=1, f(1)=2,...

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

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

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

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

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

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

Не по теме:

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

0
ValeryS
Модератор
6653 / 5062 / 470
Регистрация: 14.02.2011
Сообщений: 16,926
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
2106 / 1625 / 308
Регистрация: 15.12.2013
Сообщений: 6,485
31.03.2014, 22:37 #9
Цитата Сообщение от ValeryS Посмотреть сообщение
вот как раз нерекрусивно она и решается
ValeryS, нерекурсивно она решается без особых проблем.Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
1
ValeryS
Модератор
6653 / 5062 / 470
Регистрация: 14.02.2011
Сообщений: 16,926
31.03.2014, 22:46 #10
Цитата Сообщение от S_el Посмотреть сообщение
ValeryS, нерекурсивно она решается без особых проблем.
извини с ТС попутал
Цитата Сообщение от S_el Посмотреть сообщение
Не люблю я сразу готовый код выкладывать,хочу чтобы ТС,хоть что-то сам сделал
полностью поддерживаю
я и сам никогда не выкладываю листинги, только кусок реализации, и то только когда словами алгоритм трудней описать чем кодом
но после того как мы newb_programmer, решили эту рекурсию причем оба, с костылями в виде дополнительного аргумента( видать мысли сходятся)
уж не выложить то этот классический цикл

Добавлено через 1 минуту
причем заметил я там ошибку то допустил так что подумать все равно придется
0
S_el
2106 / 1625 / 308
Регистрация: 15.12.2013
Сообщений: 6,485
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2014, 23:05
Привет! Вот еще темы с ответами:

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

Составить рекурсивную функцию, которая определяет, содержится ли определенная цифра в данном числе - C++
bool containsDigit(int number, int digit); Примеры containsDigit(143, 1); // -&gt; true containsDigit(1421, 3); // -&gt; false ...

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

Составить рекурсивную функцию, которая определяет наибольшую цифру, и заменяет все строчные латинские буквы - C++
Вообщем снова рекурсия на С++, ну не дружу я с ней:(. Вообщем, смысл задачи: дана строка символов, составить рекурсивную функцию, которая...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
31.03.2014, 23:05
Ответ Создать тему
Опции темы

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