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

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

Восстановить пароль Регистрация
 
achupalov
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 15
18.04.2016, 09:57     Вывести цифры числа в прямом и обратном порядке #1
Дано натуральное число N. Выведите все его цифры по одной, в обычном порядке (а потом в обратном), разделяя их пробелами или новыми строками. Например: 179 => 1 7 9; 179 => 9 7 1
При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется).
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2016, 09:57     Вывести цифры числа в прямом и обратном порядке
Посмотрите здесь:

Вывести все цифры числа по одной, в обратном порядке C++
C++ Дано целое число. Вывести набор символов содержит цифры этого числа в обратном порядке
Рекурсивные функции: вывести цифры натурального числа n в обратном порядке C++
Вывести все цифры введенного натурального числа в обратном порядке C++
Программа, которая выводит на экран все цифры введенного пользователем числа через пробел в прямом порядке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TimeTwo
68 / 68 / 31
Регистрация: 29.11.2009
Сообщений: 318
18.04.2016, 10:26     Вывести цифры числа в прямом и обратном порядке #2
achupalov, очень интересно как вы реализуете без циклов вывод заранее неизвестного количества символов ...
C++
1
2
3
4
5
cin>>n;
while(n){
    cout<<n%10;
    n/=10;
}
а еще можно использовать вектор ...
maxm
 Аватар для maxm
33 / 20 / 6
Регистрация: 17.07.2014
Сообщений: 351
18.04.2016, 10:54     Вывести цифры числа в прямом и обратном порядке #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от achupalov Посмотреть сообщение
При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется).
Про цыклы не уверен, переспросите еще разок у того, кто дал задачу.

Цитата Сообщение от TimeTwo Посмотреть сообщение
C++
1
2
3
4
5
cin>>n;
while(n){
* * cout<<n%10;
* * n/=10;
}
Это никуда не годится, так как Вы решили только простую первую часть, суть в этом:
Цитата Сообщение от achupalov Посмотреть сообщение
в обычном порядке (а потом в обратном)
Добавлено через 10 минут
Вот решение обеих условий:

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
#include <iostream>
 
#include <Windows.h>
#include <tchar.h>
 
void print_usual(int n);
 
void print_reverse(int n);
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    int n;
    std::cin >> n;
 
    print_usual(n);
    print_reverse(n);
 
    system("pause");
}
 
void print_usual(int n)
{
    while (n)
    {
        std::cout << n % 10 << " ";
        n /= 10;
    }
    std::cout << "\n";
}
 
void print_reverse(int n)
{
    if (n)
        print_reverse(n / 10);
    else
        return;
    std::cout << n%10 << " ";
}
TimeTwo
68 / 68 / 31
Регистрация: 29.11.2009
Сообщений: 318
18.04.2016, 11:13     Вывести цифры числа в прямом и обратном порядке #4
maxm, если по вашему мнению рекурсия не является циклом, то написали бы уж так,
C++
1
2
3
4
5
6
7
8
9
void print_usual(int n)
{
    if (n){
        std::cout << n % 10 << " ";
        print_usual(n/=10);
    }
    else
        return;
}
а не копировали мою часть, которая
Цитата Сообщение от maxm Посмотреть сообщение
никуда не годится
maxm
 Аватар для maxm
33 / 20 / 6
Регистрация: 17.07.2014
Сообщений: 351
18.04.2016, 11:39     Вывести цифры числа в прямом и обратном порядке #5
Ваша часть годится, но Ваш ответ - нет. Мой ответ полный, Ваш - нет.

Добавлено через 1 минуту
Цитата Сообщение от TimeTwo Посмотреть сообщение
не копировали мою часть, которая
Тут я б поспорил, так как мой цикл отличается.
achupalov
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 15
18.04.2016, 17:53  [ТС]     Вывести цифры числа в прямом и обратном порядке #6
огромное спасибо, работает как часы)
Yandex
Объявления
18.04.2016, 17:53     Вывести цифры числа в прямом и обратном порядке
Ответ Создать тему
Опции темы

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