Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Iver
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 3
#1

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

04.01.2015, 13:56. Просмотров 913. Ответов 3
Метки нет (Все метки)

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

Переставить десятичные цифры числа в обратном порядке
Напишите рекурсивное решение, чтобы получить обратное заданное целое число....

Переставить десятичные цифры числа в обратном порядке
например 12345, выдать 54321. Как сделать цикл? чтобы он сначала выделил 5,...

Как изменится значение числа, если его цифры переставить в обратном порядке
Задания по алгоритмам на числа (Массивы не используем) Задано натуральное...

Нужно переставить числа в обратном порядке
Даны 4 числа. Организуйте перестановку данных чисел в обратном порядке....

Переставить в обратном порядке биты двоичного целого числа
Целое положительное число m записывается в двоичной системе счисления, разряды...

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

3
Dimension
Dimension
573 / 442 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
04.01.2015, 14:47 #2
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>
 
#include <stdio.h>
 
 
using namespace std;
 
 
 
int main()
{
    
    const int N = 5;//размерность
    pair<int, int> a[N];
    cin >> a[0].first;
    a[N - 1].second = a[0].first;
    int i = 0;
    while (1)
    {
        i++;
        cin >> a[i].first;
        if (a[i].first == 0){
            break;
        }
        a[N - i-1].second = a[i].first;
    }
//вывод всей последовательности и обратной 
    for(int i=0;i<N;i++)
       {
        cout << a[i].first <<" "<< a[i].second << endl;
    }
    
    return 0;
}
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
04.01.2015, 14:57 #3
Dimension, std::pair тут вообще не нужен. А уж коли используется надо подключить соответствующий заголовочный файл. <utility>
http://www.cplusplus.com/reference/utility/pair/
0
Boleon
Guardian of Asgaard
373 / 316 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
04.01.2015, 18:27 #4
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 <iostream>
#include <algorithm>
#include <vector>
 
using namespace std;
 
int main() {
    vector<int> myvector;
    
    int number;
 
    // не знаю пока аналога std::cin для scanf("%1d"), поэтому использовал scanf
 
    for ( ; scanf("%1d", &number) == 1 && number != 0; ) {
        myvector.push_back(number);
    }
    
    reverse(myvector.begin(),myvector.end());
    
    for (vector<int>::iterator it=myvector.begin(); it!=myvector.end(); it++ )
    cout << *it;
    
    return 0;
}
Код
@stdin:
7238845645667890321

@stdout:
987665465488327
Расширенный вариант:
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>
#include <algorithm>
#include <vector>
 
using namespace std;
 
int myReverse(int number) {
    int temp;
    int result = number % 10;
    
    number /= 10;
    
    for ( ; number != 0; number /= 10 ) {
        temp = number % 10;
        
        result = result * 10 + temp;
    }
    return result;
}
 
int main() {
    vector<int> myvector;
    
    int number;
    
    for ( ; cin >> number && number != 0; ) {
        myvector.push_back(myReverse(number));
    }
    
    for (vector<int>::iterator it=myvector.begin(); it!=myvector.end(); it++ )
    cout << *it << " ";
    
    return 0;
}
Код
@stdin:
723 884 56456 67 89 0 321

@stdout:
327 488 65465 76 98
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 18:27
Привет! Вот еще темы с решениями:

Рекурсия: записать цифры числа в обратном порядке
как число записать в обратном порядке с помощью рекурсивной функции? на С. мот...

Рекурсия: вывести цифры числа в обратном порядке
Нужно реализовать рекурсивную функцию, чтоб из числа, примерно 1234 сделала 4 ...

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

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


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

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

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