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

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

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

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

06.12.2013, 18:08. Просмотров 397. Ответов 12
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
using namespace std;
long int rec(int q, int n)
{   
if(q<=n)    
{   
    cout << n << endl; 
    return rec(q, n-1);
}
return (q);
}
int main ()
{
int f; 
f=rec(10, 15);
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 18:08     рекурсия
Посмотрите здесь:

Рекурсия - C++
Задан массив целых чисел: а0, а1 ..., аn-1. Известно, что один из элементов массива принимает нулевое значение. Найти номер данного...

Рекурсия - C++
Здравствуйте, писали на лабораторной программу с использованием рекурсии, о бъясните почему в ответе двойки выдает?? и что рекурсивная...

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

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

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

Рекурсия - C++
Привет, помогите пожалуйста надо вычислить рекурсивную функцию : (x+a(x+(a-1)(x+(a-2)(x+...2(x+1)^2)^2)^2)^2)^2. Помогите пожалуйста ,...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
06.12.2013, 18:14     рекурсия #2
C++
1
2
 cout << q << endl; 
    return rec(q+1, n);
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
06.12.2013, 18:15     рекурсия #3
C++
1
2
3
4
5
6
7
8
9
long int rec(int q, int n)
{   
    if(q<=n)    
    {   
        cout << q << endl; 
        return rec(q+1, n);
    }
    return (q);
}
domovenok
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 87
06.12.2013, 18:39  [ТС]     рекурсия #4
Спасибо

Добавлено через 11 минут
Получается теперь тут присутствует рекурсия как на подъеме так и на спуске?
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
06.12.2013, 18:44     рекурсия #5

Не по теме:

domovenok, эй, это я домовёнок!



Добавлено через 2 минуты
Цитата Сообщение от domovenok Посмотреть сообщение
Получается теперь тут присутствует рекурсия как на подъеме так и на спуске?
нет, это можно назвать двумя разными функциями
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
long int rec_down(int q, int n)
{   
    if(q<=n)    
    {   
        cout << n << endl; 
        return rec_down(q, n-1);
    }
    return (q);
}
long int rec_up(int q, int n)
{   
    if(q<=n)    
    {   
        cout << q << endl; 
        return rec_up(q+1, n);
    }
    return (q);
}
domovenok
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 87
06.12.2013, 18:49  [ТС]     рекурсия #6
А как тогда переписать условия рекурсии чтоб она бала как на подъеме, так и на спуске?
К примеру из этой
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
long int rec(int q, int n)
{   
if(q<=n)    
{   
    cout << n << endl; 
    return rec(q, n-1);
}
return (q);
}
 
 
int main ()
{
int f; 
 
f=rec(10, 15);
system("pause");
return 0;
}
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
06.12.2013, 19:14     рекурсия #7
в функции меняются всего 2 строчки.
добавить просто флаг, и сравнивать его, и в зависимости от флага делать либо то либо то
domovenok
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 87
06.12.2013, 19:24  [ТС]     рекурсия #8
Можно более подробней ...
Нужно чтоб рекурсивная функция была только одна, к примеру эта
C++
1
2
3
4
5
6
7
8
9
10
long int rec(int q, int n)
{   
if(q<=n)    
{   
    
    cout << q << endl; 
    return rec(q+1, n);
}
return (q);
}
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
06.12.2013, 19:34     рекурсия #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
long int rec(int q, int n,bool flag)
{   
if(q<=n)    
{   
    if (flag)
{
    cout << q << endl; 
    return rec(q+1, n,flag);
}else
{
    cout << n << endl; 
    return rec(q, n-1,flag);
 
}
}
return (q);
}
domovenok
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 87
06.12.2013, 19:39  [ТС]     рекурсия #10
А сюда что добавить? Но это как я понял не рекурсия на подъеме и спуске, а просто рекурсия с разными условиями?

C++
1
2
3
4
5
6
7
8
int main ()
{
int f; 
 
f=rec(10, 15, );
system("pause");
return 0;
}
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
06.12.2013, 19:49     рекурсия #11
либо true либо false.
функция рекурсивна, и в зависимости от флага она либо поднимается либо спускается(это самая простая реализация)
domovenok
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 87
06.12.2013, 20:05  [ТС]     рекурсия #12
А если делать согласно этому примеру, как будет все выглядеть ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 20:51     рекурсия
Еще ссылки по теме:

Рекурсия - C++
Привет. Только что узнал,что такое рекурсия и понял как она работает,но написать участок кода с рекурсией мозгов не хватает. Нужно...

Рекурсия - C++
Помогите пожалуйста составить программу, с помощью рекурсии: Определить значение отношения максимального и минимального из...

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

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

Рекурсия - C++
Есть задача, написал решение но ответ неправильный. Задача: Решение: #include &lt;iostream&gt; using namespace std; int a, n, m, t,...


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

Или воспользуйтесь поиском по форуму:
Taatshi
06.12.2013, 20:51     рекурсия
  #13
 Комментарий модератора 
domovenok, размещать текстовую информацию в виде картинок запрещено правилами форума. Перепечатайте ручками пожалуйста.
Yandex
Объявления
06.12.2013, 20:51     рекурсия
Ответ Создать тему
Опции темы

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