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

Вывести последовательность, используя рекурсию - C++

Восстановить пароль Регистрация
 
srgykim
0 / 0 / 0
Регистрация: 10.10.2013
Сообщений: 6
26.10.2013, 16:12     Вывести последовательность, используя рекурсию #1
Дана последовательность из N количества элементов. Вывести эту последовательность в обратном порядке, используя рекурсию.
Замечание: нельзя пользоваться массивами и циклами (даже для ввода)!

Given a positive integer N and a sequence of N elements.
You have to display given sequence in reverse order.
Note. The program is forbidden to declare arrays, and use the cycles (even for input).

Input:
First line contains n (1<=n<=100).
The second line contains n elements that are smaller that 1000.

Output:
The sequence of element in reverse order.

Пример:

Ввод:
3
1 2 3
Вывод:
3 2 1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 16:12     Вывести последовательность, используя рекурсию
Посмотрите здесь:

C++ Используя только рекурсию
Используя рекурсию распечатать последовательность C++
C++ Используя рекурсию вивести групу даних с их индексами не используя масив
C++ Ввести с клавиатуры целое число N. Используя рекурсию, распечатать сначала последовательность, состоящую из N букв 'А', а затем из N букв 'В'
Используя прямую рекурсию, напечатать в обратном порядке последовательность чисел, признаком конца которой является 0 C++
последовательность через рекурсию C++
Используя рекурсию, перемножить 2 натуральных числа не используя операции умножения и иметь логарифмическую сложность C++
График,используя рекурсию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
26.10.2013, 16:20     Вывести последовательность, используя рекурсию #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
void inout(int n)
{
    if (!n) return;
    int t; cin >> t;
    inout(n-1);
    cout << t << " ";
}
 
int main()
{
    int n; cin >> n;
    inout(n);
    return 0;
}
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
26.10.2013, 16:28     Вывести последовательность, используя рекурсию #3
srgykim, вот решение:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
 
using namespace std;
 
//
// Ввод чисел
//
void Input(int now, int max)
{
    //
    // Если ввели последнее число, то начинаем выводить их в обратном порядке
    //
    if (now == max)
    {
        cout<<"---------------------\n";
        cout<<"---- OUTPUT ---------\n";
        cout<<"---------------------\n\n";
    }
    else
    {
        //
        // Ввод чисел
        //
        int x;
        cout << "X" << (now + 1) << " = ";
        cin >> x;
        //
        // В рекурсии падаем до нужной ответки, и затем выводим все в обратном порядке
        //
        Input(now + 1, max);
        //
        // Содственно вывод чисел
        //
        cout << "X" << (now + 1) << " = " << x <<endl;
    }
}
 
int main()
{
    int N;
    //
    cout<<"N = ";
    cin>>N;
    cout<<endl;
    //
    Input(0, N);
    //
    cout<<"\n\n";
    system("pause");
}
Yandex
Объявления
26.10.2013, 16:28     Вывести последовательность, используя рекурсию
Ответ Создать тему
Опции темы

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