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

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

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

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

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

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

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

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

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

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

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

Определить функции: сумма цифр числа, вращение числа (цифры - в обратном порядке), деление чисел (результат - действительное число) - C++
Определить класс: целое число. Определить функции: сумма цифр числа, вращение числа (цифры - в обратном порядке), деление чисел (результат...

3
Dimension
Dimension
571 / 440 / 135
Регистрация: 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
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.01.2015, 14:57 #3
Dimension, std::pair тут вообще не нужен. А уж коли используется надо подключить соответствующий заголовочный файл. <utility>
http://www.cplusplus.com/reference/utility/pair/
0
Boleon
Guardian of Asgaard
372 / 315 / 106
Регистрация: 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
04.01.2015, 18:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 18:27
Привет! Вот еще темы с ответами:

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

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

Вывести все цифры введенного натурального числа в обратном порядке - C++
Помогите написать программу на С++. Вводится натуральное число. Вывести все цифры числа в обратном порядке. Например (есть 4826, должно...

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


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

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

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