Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
6 / 6 / 0
Регистрация: 23.02.2021
Сообщений: 67

Инвертировать цифры десятичного числа

13.04.2021, 15:42. Показов 3200. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны 5 положительных чисел. Требуется перевернуть каждое из чисел и распечатать их в обратном порядке. При этом, если перевернутое число начинается с нуля, то ведущие нули не печатаются. Например, вместо 230 следует вывести 32, а вместо 100 — 1. Пять чисел вводятся в одной строке через пробел. Требуется также вывести пять чисел через пробел.
Ввод
1 2 3 4 5
Вывод
5 4 3 2 1
Ввод
23 543 100 230 7
Вывод
7 32 1 345 32

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
    string s;
    getline(cin , s);
    cin >> s;
    int i=s.size()-1;
    for (i;i>=0;i--) {
        if (s[i] != char(0)) {
            cout << s[i];
        } else if (s[i] == char(0) && s[i+1] != ' ') {
            cout << s[i];
        }
    }
  return 0;
}
вот мой код, уже час сижу не могу с нулями разобраться, получилось убрать только один, и то тот код удалился . Помогите пожалуйста.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.04.2021, 15:42
Ответы с готовыми решениями:

Инвертировать цифры десятичного числа
Как сделать номер 15 так, чтоб если мы записали число с нулём на конце, то при перевороте ноль остался и оказался в начале П.5.18.Правил ...

Инвертировать цифры десятичного числа
Не могу понять код задачи Дано натуральное число n заранее неизвестной разрядности. Сформировать и вывести на экран число, ...

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

11
Злостный нарушитель
 Аватар для Verevkin
10307 / 5729 / 1269
Регистрация: 12.03.2015
Сообщений: 26,540
13.04.2021, 15:49
Цитата Сообщение от uarts Посмотреть сообщение
уже час сижу не могу с нулями разобраться, получилось убрать только один, и то тот код удалился
Самая очевидная ошибка - пихать весь говнокод в main().
Всегда разбивай задачу на подзадачи, желательно независимые.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// реверс десятичного беззнакового целого циклический
unsigned reverse(unsigned x)
{
  unsigned a = 0;
  while (x) a = 10 * a + (x % 10), x /= 10;
  return a;
}
 
// реверс десятичного беззнакового целого рекурсивный
unsigned reverse_recursively(unsigned x, unsigned a)
{
  return x ? reverse_recursively(x / 10, 10 * a + (x % 10)) : a;   
}
0
6 / 6 / 0
Регистрация: 23.02.2021
Сообщений: 67
13.04.2021, 16:11  [ТС]
спасибо конечно, но мне просто чужой код не нужен, в чём ошибка моего кода?
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
13.04.2021, 16:21
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <sstream>
using namespace std;
 
int main(){
  int n;
 
  stringstream s;
  for(int i=1;i<=5;i++){
     cin>>n;
     while(n){
        s<<n%10;
        n/=10;
     }
     s<<' ';
  }
  while(s>>n)
     cout<<n<<"  ";
 return 0;
}
0
1 / 0 / 1
Регистрация: 21.03.2021
Сообщений: 1
13.04.2021, 16:48
Лучший ответ Сообщение было отмечено uarts как решение

Решение

у вас тоже ошибка
правильный код

C++
1
2
3
4
5
6
7
8
9
10
11
unsigned reverse(unsigned x)
{
  unsigned a = 0;
  while (x) a = 10 * a + (x % 10), x /= 10;
  return a;
}
 
unsigned reverse_recursively(unsigned x, unsigned a)
{
  return x ? reverse_recursively(x / 10, 10 * a + (x % 10)) : a;   
}
0
3 / 3 / 0
Регистрация: 12.04.2021
Сообщений: 55
13.04.2021, 18:08
А можно понять какой полностью правильный код в итоге? да и ошибки в коде первом тоже разобрать хочется
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.04.2021, 18:20
vitek2000, правильный код тот который выдаёт правильный результат. пара примеров ввода-вывода - в условии задачи. а вообще есть специальные тестирующие системы, которые проверяют код при разных входных данных.
Цитата Сообщение от vitek2000 Посмотреть сообщение
да и ошибки в коде первом тоже разобрать хочется
с самого начала неправильный подход к решению - в задаче на целочисленные данные ТС начинает применять их символьное представление
0
3 / 3 / 0
Регистрация: 12.04.2021
Сообщений: 55
13.04.2021, 18:25
Цитата Сообщение от Yetty Посмотреть сообщение
vitek2000, правильный код тот который выдаёт правильный результат. один из примеров ввода-вывода - в условии задачи. а вообще есть специальные тестирующие системы, которые проверяют код при разных входных данных.

с самого начала неправильный подход к решению - в задаче на целочисленные данные ТС начинает применять их символьное представление
Про ошибки ясно, а про код я немного не то имел ввиду, именно почему в коде без функций ничего местами не меняет, а добавляет пробелов к тому же, сам немного не понял почему с функциями (первый ответ) мэйн не указан, хотя там просто переменные можно обьявить но спросить хотелось наверняка
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.04.2021, 18:31
vitek2000, вот полное решение:
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
#include <iostream>
using namespace std;
 
int ReverseNumber(int number)
{
    int n = 0;
    while (number)
    {
        n = 10 * n + number % 10;
        number /= 10;
    }
 
    return n;
}
 
int main()
{
    const int n=5;
    int a[n];
        
    for (int i = 0; i < n; i++)      
      cin >> a[i];      
          
    for (int i = n-1; i >= 0; i--)
        cout << ReverseNumber(a[i]) <<" ";
    cout << "\n";  
 
system("pause");
return 0;
}
0
3 / 3 / 0
Регистрация: 12.04.2021
Сообщений: 55
13.04.2021, 18:33
спасибо еще раз)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.04.2021, 18:36
Цитата Сообщение от vitek2000 Посмотреть сообщение
почему в коде без функций ничего местами не меняет
задавайте вопрос так, чтобы не только Вам было понятно что интересует
Цитата Сообщение от vitek2000 Посмотреть сообщение
почему с функциями (первый ответ) мэйн не указан
автор поста написал только основную часть кода (функцию) в расчёте на то, что ТС должен сам добавить остальное
0
Злостный нарушитель
 Аватар для Verevkin
10307 / 5729 / 1269
Регистрация: 12.03.2015
Сообщений: 26,540
13.04.2021, 18:44
Цитата Сообщение от Yetty Посмотреть сообщение
автор поста написал только основную часть кода (функцию) в расчёте на то, что ТС должен сам добавить остальное
Я всегда так делаю. И остальным отвечающим советую делать также.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2021, 18:44
Помогаю со студенческими работами здесь

Инвертировать цифры десятичного представления числа
Сделать начало концом. Пример : Ввод данных : 43210 Выход данных : 01234

Инвертировать порядок цифр десятичного числа
Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке. При...

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

Инвертировать цифры четырехзначного числа
помогите написать программу переворачивающую 4-хзначное число, и чтобы была проверка условия если число не 4-х значное то программа...

Инвертировать десятичные цифры каждого числа последовательности
Составить программу с использованием оператора цикла с постусловием и функцией, возвращающей значение Вводится последовательность из N...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru