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

Оставить в строке по одному пробелу между словами в качестве разделителя

07.12.2017, 19:20. Показов 3056. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа на C++ алгоритм, помогите пожалуйста
В строке — русское предложение, слова которого разделены одним или несколькими пробелами. Оставить по одному пробелу в качестве разделителя.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2017, 19:20
Ответы с готовыми решениями:

Буквы ю, ъ, ф, э в строке удвоить, а между словами оставить только по одному пробелу
Пользователь заполняет символьную строку русскими буквами. Буквы ю, ъ, ф, э в ней нужно удвоить, а между словами оставить только по одному...

В строке между словами оставить по одному пробелу, слова расположить по возрастанию длины.
Объясните кто нить как работают методы copy, concat.......... они почему то не правильно работают в моей программеuses crt; Const...

В исходной строке оставить между словами лишь по одному пробелу, удалив лишние
Выручьте пожалуйста студента с контрольной по Assembler, есть 6 заданий, может у кого какие примеры похожие есть, киньте, а я разберусь...

2
9 / 9 / 4
Регистрация: 19.08.2013
Сообщений: 31
07.12.2017, 19:47
Проверить строку по-символьно.
Если n элемент пробел и n - 1 - пробел, не записывать n-ый символ.
0
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
07.12.2017, 20:58
Лучший ответ Сообщение было отмечено Kibg как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
 
std::string& RemoveDuplSpace(std::string &str)
{
    str.erase(std::unique(str.begin(), str.end(), [](char lhs, char rhs) {
        return std::isspace(lhs) && std::isspace(rhs); }), str.end());
    return str;
}
 
int main()
{
    std::string str("  Hello   \tWorld!    I'm  back!");
    std::cout << RemoveDuplSpace(str) << std::endl;
}
Добавлено через 30 минут
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 <string>
#include <algorithm>
#include <cstring>
 
std::string& RemoveDuplSpace(std::string &str)
{
    unsigned count = 1;
    for (unsigned i = 1; i < str.size(); ++i)
    {
        if (!std::isspace(str[i]) || !std::isspace(str[i - 1]))
        {
            str[count++] = str[i];
        }
    }
    str.erase(count);
    return str;
}
 
int main()
{
    std::string str("  Hello   \tWorld!    I'm  back!");
    std::cout << RemoveDuplSpace(str) << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2017, 20:58
Помогаю со студенческими работами здесь

В заданной строке, состоящей из нескольких слов, разделенных пробелами, оставить по одному пробелу между словами
Задание 1 В заданной строке, состоящей из нескольких слов, разделенных пробелами, оставить по одному пробелу между словами. Предусмотреть...

Между словами в тексте оставить по одному пробелу
Помогите решить задачу: Ввести латинский текст заданной длины. Преобразовать текст по следующему правилу: между словами оставить по...

Оставить между словами лишь по одному пробелу, удалив лишние. Макроопределения
Ребят, помогите исправить код. Задана строка слов. Словом считается последовательность символов, разделённая пробелами. В исходной...

Убрать все лишние пробелы между словами (оставить только по одному пробелу)
Dim St As String, Stl As String Dim P As String * 10, Sym As String * 1 Dim KR As Long, KN As Long, i As Long P = &quot;аеёиоуыэюя&quot; ...

Между всеми словами текста устранить все знаки препинания и оставить по одному пробелу
Между всеми словами текста устранить все знаки препинания и оставить по одному пробелу. Вывести на печать слова, длина которых равны...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru