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

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

25.02.2020, 10:43. Показов 3778. Ответов 8

Студворк — интернет-сервис помощи студентам
Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке. При решении этой задачи нельзя использовать циклы, строки, списки, массивы, разрешается только рекурсия и целочисленная арифметика. Фунция должна возвращать целое число, являющееся результатом работы программы, выводить число по одной цифре нельзя.

Написал код программы. Не понимаю, почему у меня выводится только последняя цифра числа. И вообще правильный ли код я написал?
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
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int function( int a, int b )
{
    if (a%10 == 0)
    {
        cout << "Число содержит ";
        return 0;
    }
    if (a > 0)
    {
        b = b*10 + a%10;
        a = a/10;
    }
    return (a , b);
}
int main()
{
    srand(time(0));
    int n = 1 + rand()%9999, b =0;
    cout << n << endl;
    cout << function (n,b) << endl;
}
Добавлено через 19 минут
Увидел ошибку. Забыл написать "function(...)" после return. Но теперь все время выводится "Число содержит 0", даже если оно не содержит 0
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2020, 10:43
Ответы с готовыми решениями:

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

Функция меняющая порядок цифр трехзначного десятичного числа на обратный
Напишите функцию, которая получает в качестве параметра целое трехзначное число и возвращает число с обратным порядком цифр. Протестируйте...

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

8
Заблокирован
25.02.2020, 10:48
C++
1
if (a && a%10 == 0)...
0
-7 / 0 / 0
Регистрация: 06.10.2019
Сообщений: 10
25.02.2020, 11:05  [ТС]
Теперь не выводится вообще ничего
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
25.02.2020, 11:12
Цитата Сообщение от Dikobrazz Посмотреть сообщение
у меня выводится только последняя цифра числа. И вообще правильный ли код я написал?
конечно правильный, он же работает неправильно
Цитата Сообщение от Dikobrazz Посмотреть сообщение
Забыл написать "function(...)" после return
после безусловного ретурна писать конечно можно, но малоэффективно
Цитата Сообщение от Dikobrazz Посмотреть сообщение
return (a , b);
в плюсах эта запись вызывает совсем другую магию, чем в нормальных языках
0
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
25.02.2020, 11:48
C++
1
2
3
4
5
6
7
unsigned getReverse(unsigned n) {
    unsigned result = n%10;
    while (n/=10) {
        result = result*10 + n%10;
    }
    return result;
}
1
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
25.02.2020, 17:02
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
#ifndef II
#define I1(x) x
#define II \
  Il = Il*((sizeof(lI)+1+1[l]-l[1])<<((int)***l1/(int)**l1)) + lI%I1(ll);\
  if(!(lI/=(__LINE__>>(1[l]-*l))))return Il;
#include <stdio.h>
#include <inttypes.h>
#include __FILE__
int main(){
  uint32_t x=1987654321;
  scanf("%"SCNd32, &x);
  x = l1(x);
  printf("%"PRId32"\n", x);
}
#else
uint32_t l1(uint32_t lI){
  static const char l[]="01 0L0L0 0";
  uint32_t Il = 0;
  uint8_t ll = sscanf(l,"%c%c%c%c%c%c%c%c%c%i", &ll, &ll, &ll, &ll, &ll, &ll, &ll, &ll, &ll, &Il);
  //कोड में टिप्पणी - यह है कि उसने क्या कहा डिबगिंग के दौरान प्रोग्रामर
  II II II II II II II II II II
  return Il;
}
#endif
1
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
25.02.2020, 17:12
Dikobrazz, Пал Сергеич, отправляю, как просили. Простите, что не ваш случай, но не менее ипический. Пациент хочет кот, получающий из числа 1-цу декрементом или делением на 3, и предъявляет претензии, что кот неправильный -
Цитата Сообщение от bulkarez Посмотреть сообщение
если вписать 9 он выводит 2, а должен явно больше
по-моему достойно, отправляем в номер, что скажете?

ЗЫ хотя тут возможно уточнение ситуации в связи с корректировкой неоднозначного условия
0
-7 / 0 / 0
Регистрация: 06.10.2019
Сообщений: 10
25.02.2020, 18:10  [ТС]
Ого, вот это тебе везет сегодня на начинающих программистов. С таким успехом тебе скоро можно будет самому создать паблик в какой-нибудь соц сети, или вообще канал на ютубе, на котором ты будешь вот такие вот темы обозревать
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
25.02.2020, 21:14
C++
1
2
3
4
5
6
7
8
9
 int n=12345,b=0;
 
  m:
   if(n>0){
   b=b*10+n%10;
   n/=10;
   goto m;
   }
   cout<<b;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2020, 21:14
Помогаю со студенческими работами здесь

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

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

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

найти произведение цифр четырехзначного десятичного числа
Дано 4-значное число найти произведение этих чисел. Просто перемножить все 4 числа, тип(1364=1*3*6*4=72)

Найти сумму последних n цифр десятичного числа
Дано натуральное число. Найти сумму его последних n цифр. Массивы для сохранения n цифр не использовать (использовать цикл). ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru