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

Рекурсия: вывести заданную строку, в которой цифры записаны в обратном порядке

05.12.2018, 19:15. Показов 2843. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка S, надо вывести её, но цифры должны идти в обратном порядке.
Формат входных данных

Первая строка входного файла содержит строку S. Гарантируется, что S состоит только из цифр, и букв английского алфавита, её длина не больше 200 и она не пустая.
Формат выходных данных
Выведите ответ на задачу.

A.in A.out
abc23z18pK1 abc18z13pK2
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2018, 19:15
Ответы с готовыми решениями:

Рекурсия: вывести заданную последовательность в обратном порядке
Народ, очень нужна помошь с кодом, очень срочно Задача без массивов Дано натуральное число N и последовательность из N элементов....

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

Рекурсия. Вывести в обратном порядке цифры целого положительного числа n
Составить рекурсивную процедуру,которая выдает на печать в обратном порядке цифры целого положительного числа n

10
 Аватар для Nishen
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
05.12.2018, 19:49
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
#include <iostream>
#include <string>
#include <vector>
 
int main() {
 
    std::string text = "abc23z18pK1";
    std::vector<std::string::size_type> positions;
 
    for (std::size_t i = 0; i < text.size(); ++i)
        if (::isdigit(text[i]))
            positions.push_back(i);
 
    for (std::size_t i = 0; i < positions.size() / 2; ++i) {
 
        char ch = text[positions[i]];
        text[positions[i]] = text[positions[positions.size() - i - 1]];
        text[positions[positions.size() - i - 1]] = ch;
 
    }
 
    std::cout << "Result: " << text << '\n';
 
    system("PAUSE");
    return 0;
 
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
05.12.2018, 19:56
Nishen, это вообще не рекурсия ---
0
 Аватар для Nishen
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
05.12.2018, 20:02
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
это вообще не рекурсия
Я ничего и не видел про нее, пока ты не сказал.

Добавлено через 5 минут
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 <algorithm>
#include <iostream>
#include <string>
#include <vector>
 
int main() {
 
    std::string text = "abc23z18pK1";
    
    auto it = std::find_if(text.begin(), text.end(), [](char c) { return ::isdigit(c); });
    auto rit = std::find_if(text.rbegin(), text.rend(), [](char c) { return ::isdigit(c); });
 
    while (it != rit.base() - 1) {
 
        std::swap(*it, *rit);
        it = std::find_if(it + 1, text.end(), [](char c) { return ::isdigit(c); });
        rit = std::find_if(rit + 1, text.rend(), [](char c) { return ::isdigit(c); });
 
    }
 
    std::cout << "Result: " << text << '\n';
 
    system("PAUSE");
    return 0;
 
}
1
98 / 64 / 36
Регистрация: 14.10.2018
Сообщений: 152
05.12.2018, 20:04
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
void reverse(std::string s,size_t k)
{
std::cout<<s[k];
    if(k == 0)
      return;
    reverse(s,--k);
}
 
int main()
{
    std::string str = "Hello, I am Jack";
    reverse(str,str.size()-1);
}
P.s. не актуально, не вникнул в суть задачи
0
0 / 0 / 0
Регистрация: 05.12.2018
Сообщений: 8
05.12.2018, 20:06  [ТС]
а если другой текст будет вводиться?
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
05.12.2018, 20:11
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
int main ( )
{
    char   str[] = "abc23z18pK1"             ;
    char * first =  str                      ;
    char * last  =  str + strlen ( str ) - 1 ;
    
    cout << str << endl ;
    
    while ( first < last )
    {
        while ( !isdigit ( * first ) )  first ++ ;
        while ( !isdigit ( * last  ) )  last  -- ;
        
        char  tmp   = * first ; 
            * first = * last  ;
            * last  =   tmp   ;
            
        first ++ ;
        last  -- ;
    }
 
    cout << str << endl ;
    
    return 0 ;
}
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
05.12.2018, 20:20
Цитата Сообщение от azatudo Посмотреть сообщение
abc23z18pK1 abc18z13pK2
1
0 / 0 / 0
Регистрация: 05.12.2018
Сообщений: 8
05.12.2018, 20:23  [ТС]
а какие библиотеки? И не подскажите ваш компилятор?
0
 Аватар для analogov net
2524 / 1123 / 493
Регистрация: 17.11.2018
Сообщений: 2,832
05.12.2018, 20:28
Это онлайн компилятор https://onlinegdb.com/ByTdcFH1V
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
06.12.2018, 00:35
analo govnet, столько ответов и никто ТЗ не читает - все тупо нахаляву тяп-ляп лепят!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2018, 00:35
Помогаю со студенческими работами здесь

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

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

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

Вычисление пятизначного числа, цифры которого записаны в обратном порядке
Помогите, пожалуйста. Задали 9 задач на Паскале. Решил все кроме тех, что ниже. Буду очень признателен если кто-то решит мне 8-й и 9-й...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
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
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru