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

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

31.03.2020, 09:53. Показов 1556. Ответов 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
35
36
37
38
39
40
 
 
/ *
Есть строка, содержащая буквы и цифры. Превратите эту строку так, чтобы сначала в нем шли все цифры
исходной строки, а затем - все буквы исходной строки, но в обратном порядке.
Возможны символы - цифры; прописные и строчные латинские буквы.
примеры:
Исходную строку:            Результат:
ad2e57b6                         2576beda
Strigem.Коzloff.                Недопустимый символ - ".";
* /
 
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
 
    string str, a, b;
    cout << "Введите текст (ENG, буквы и цифры):" << endl;
    getline(cin, str);
    a = b = "";
    for (int i = str.length() - 1, j = 0; i >= 0, str[j]; i--, j++)
    {
        if (isalpha(str[i]))
            b += str[i];    
        if (isdigit(str[j]))
            a += str[j];
            
        
    }
    
    cout << "Искомая строка:" << endl;
    cout << b.append(a) << endl;
    system("pause");
    return 0;
}
// у меня же все наоборот
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2020, 09:53
Ответы с готовыми решениями:

Преобразовать строку так, чтобы сначала шли цифры, а затем все буквы исходной строки, но в обратном порядке
1)Дана строка,содержащая буквы и цифры.Преобразовать строку так,что бы сначала шли цифры,а затем все буквы исходной строки,но в обратном...

Преобразовать строку так, чтобы сначала в ней шли все цифры исходной строки, а потом – все буквы исходной строки, но в обратном порядке
1)Даны сведения о 8 фильмах: название, режиссер, страна, год выпуска, стоимость(расходы на выпуск), доходы. Вывести сведения о фильмах,...

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

2
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
31.03.2020, 10:56
Цитата Сообщение от yeezysmem Посмотреть сообщение
Нужно чтобы сначала шли цифры а затем все буквы но в обратном порядке
C++
1
2
3
4
5
6
7
8
9
10
11
        std::string s = "a1b2c3d4";
        std::sort(s.begin(), s.end(), [](char ch1, char ch2)
        {
 
            return
                isalpha(ch1) && isalpha(ch2)? ch2 < ch1:
                isdigit(ch1) && isdigit(ch2)? ch1 < ch2:
                isdigit(ch1);
        });
 
        std::cout << s << std::endl;
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
31.03.2020, 11:50
Лучший ответ Сообщение было отмечено yeezysmem как решение

Решение

Цитата Сообщение от yeezysmem Посмотреть сообщение
// у меня же все наоборот
В строке 36 поменяйте местами a и b.

Цитата Сообщение от yeezysmem Посмотреть сообщение
C++
25
for (int i = str.length() - 1, j = 0; i >= 0, str[j]; i--, j++)
Оператор запятая не то же самое, что &&. При такой записи левое значение i >= 0 никак не используется, что в данном случае неправильно (однако ошибка не проявляет себя, поскольку индексы перемещаются симметрично и ноль в конце строки спасает ситуацию). Замените на (i >= 0) && str[j].

А лучше вообще от второго индекса избавиться: слева направо перемещать i, а второй индекс вычислить по формуле str.length() - i - 1.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2020, 11:50
Помогаю со студенческими работами здесь

Преобразовать слово P так, чтобы сначала шли все чётные цифры (0 и 2), а затем – все нечётные
3. A={0,1,2,3}. Преобразовать слово P так, чтобы сначала шли все чётные цифры (0 и 2), а затем – все нечётные.

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

Отсортировать массив так, чтобы в нем сначала шли буквы латинского алфавита, затем цифры и, в конце, остальные элементы
Задан символьный массив размера N. Отсортировать массив так, чтобы в нем сначала шли буквы латинского алфавита, затем цифры и, в конце,...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
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 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru