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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 80, средняя оценка - 4.60
ZubSam
13 / 13 / 1
Регистрация: 24.03.2012
Сообщений: 238
#1

Вывести числа в обратном порядке(рекурсия) - C++

22.10.2012, 11:26. Просмотров 14307. Ответов 7
Метки нет (Все метки)

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

Рекурсия: вывести все цифры заданного натурального числа в обратном порядке - C++
дано натуральное число N. выведите все цифры по одной, в обратном порядке, разделяя их пробелами или новыми строками. При решении этой...

Рекурсия: вывести данную последовательность в обратном порядке - C++
Дано натуральное число N и последовательность N элементов. Вы должны вывести данную последовательность в обратном порядке. Ввод ...

Вывести цифры числа в прямом и обратном порядке - C++
Дано натуральное число N. Выведите все его цифры по одной, в обычном порядке (а потом в обратном), разделяя их пробелами или новыми...

Для каждого числа последовательности вывести новое число, которое получится после записи цифр числа в обратном порядке - C++
Пожалуйста, напишите программы в С++ по функциям!). 29. Вводится последовательность из N целых чисел. Для каждого числа...

Вывести числа в обратном порядке и определить сумму чисел - C++
Здравствуйте, помогите пожалуста написать программу: Пользователь вводит 25 чисел с плавающей точкой. Вывести числа в обратном порядке и...

Рекурсивно вывести цифры целого числа в обратном порядке - C++
5. Записать рекурсивную программу для вывода цифр данного целого числа в обратном порядке. Очень нужно,помогите!

7
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.10.2012, 11:39 #2
вывод ненулевого числа a в обратном порядке
C++
1
2
3
4
5
6
7
8
void Print(int a)
{
   if (a)
   {
      cout << (a%10);
      Print(a/10);
   }
}
вывод любого числа в обратном порядке
C++
1
2
3
4
5
6
7
8
9
10
void Print(unsigned int a)
{
  if (a < 10)
      cout << a;
  else 
  {
      cout << (a%10);
      Print(a/10);
   }
}
1
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
22.10.2012, 11:43 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
void printInverse(int n) {
    if (n<1) {
        cout << endl;
        return;
    }
    else {
        int k;
        cin >> k;
        printInverse(n-1);
        cout << k << endl;
    }
}
 
int main() {
    int num;
    cin >> num;
    cout << endl;
    printInverse(num);
}
2
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.10.2012, 11:48 #4
Цитата Сообщение от ZubSam Посмотреть сообщение
нужно вывести числа в обратном порядке
не совсем однозначная задача. если имеются числа
12, 105, 123,
то надо вывести
123, 105, 12
или
21, 501, 321
или
321, 501, 21?
1
MrGrig
22.10.2012, 11:49
  #5

Не по теме:

Thinker, Числа имеется ввиду множественное значение слова=) хотя мб и нет, в принципе суть задания некоректно составлена

0
ZubSam
13 / 13 / 1
Регистрация: 24.03.2012
Сообщений: 238
22.10.2012, 11:55  [ТС] #6
Цитата Сообщение от Thinker Посмотреть сообщение
void Print(unsigned int a)
{
if (a < 10)
cout << (a);
else
{
cout << (a%10);
Print(a/10);
}
}
спасибо) очень интересное решение , но не совсем понятно как это все дело работает )

Добавлено через 2 минуты
Цитата Сообщение от Thinker Посмотреть сообщение
не совсем однозначная задача. если имеются числа
Сначала вводится общее кол-во цифр, а затем цифры.
Например:
5
13, 52, 1, 2, 74
Вывести мы должны уже
74, 2, 1, 52, 13
0
Thinker
Эксперт С++
4229 / 2203 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.10.2012, 11:56 #7
Цитата Сообщение от ZubSam Посмотреть сообщение
не совсем понятно как это все дело работает
очень просто. например дано число 123. отщепляем от него последнюю цифру - 3 и выводи на экран, а далее вызываем рекурсивно функцию с числом 12 и т.д. Но суть задачи все же не однозначна (пример в посте 4)

Добавлено через 1 минуту
Цитата Сообщение от ZubSam Посмотреть сообщение
Сначала вводится общее кол-во цифр, а затем цифры.
Например:
5
13, 52, 1, 2, 74
Вывести мы должны уже
74, 2, 1, 52, 13
а, ну тогда вариант от doctor_lecter вам поможет)
0
ZubSam
13 / 13 / 1
Регистрация: 24.03.2012
Сообщений: 238
22.10.2012, 11:59  [ТС] #8
вот то что "доктор прописал"
Цитата Сообщение от doctor_lecter Посмотреть сообщение
#include <iostream>
using namespace std;
void printInverse(int n) {
if (n<1) {
cout << endl;
return;
}
else {
int k;
cin >> k;
printInverse(n-1);
cout << k << endl;
}
}
int main() {
int num;
cin >> num;
cout << endl;
printInverse(num);
}
Добавлено через 1 минуту
Цитата Сообщение от Thinker Посмотреть сообщение
очень просто. например дано число 123. отщепляем от него последнюю цифру - 3 и выводи на экран, а далее вызываем рекурсивно функцию с числом 12 и т.д. Но суть задачи все же не однозначна (пример в посте 4)
спасибо за пояснение , теперь стало понятно )
0
22.10.2012, 11:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2012, 11:59
Привет! Вот еще темы с ответами:

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

Рекурсивные функции: вывести цифры натурального числа n в обратном порядке - C++
Помогите пожалуйста решить!!! Рекурсивно описать функцию rev_print (n), которая выводит цифры натурального числа n в обратном порядке. С++

Вывести все чётные числа между а и b в прямом и обратном порядке - C++
Вывести на экран все чётные числа между а и b в прямом и обратном порядке. В С++

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


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

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

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