
Вопрос задан 24.06.2023 в 10:50.
Предмет Информатика.
Спрашивает Журавлева Мария.
C++ Пробелы по правилам В строке имеется несколько слов, разделенных одним или несколькими
пробелами. Требуется убрать из текста лишние пробелы: два и более пробелов подряд, а также все пробелы в начале и в конце строки. Входные данные На вход программе подается строка, состоящая не более чем из 255 символов. Выходные данные Выведите преобразованную строку. Примеры Ввод Odin Dva Tri Вывод Odin Dva Tri

Ответы на вопрос

Отвечает Истомин Никита.
Ответ:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i=0;
string s;
getline(cin, s);
while (s[i])
{
if (s[i]==' ' && s[i+1]==' '){
s.erase(i,1); i--;
}
i++;
}
if (s[0]==' '){
s.erase(0,1);
}
if (s[s.length() - 1]==' '){
s.erase(s.length() - 1, s.length() - 1);
}
cout << s << endl;
return 0;
}
Объяснение:



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для удаления лишних пробелов в строке в соответствии с вашими правилами, вы можете воспользоваться следующим C++ кодом:
cpp#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string input;
std::getline(std::cin, input); // Считываем входную строку
// Используем алгоритм std::unique для удаления двух и более пробелов подряд
auto new_end = std::unique(input.begin(), input.end(), [](char a, char b) {
return a == ' ' && b == ' ';
});
// Удаляем пробелы в начале и в конце строки
if (new_end != input.begin() && *(new_end - 1) == ' ') {
new_end--;
}
if (input.begin() != new_end && *(input.begin()) == ' ') {
new_end--;
input.erase(input.begin());
}
// Выводим преобразованную строку
std::cout << input << std::endl;
return 0;
}
Этот код сначала удаляет два и более пробела подряд с использованием std::unique
, а затем удаляет пробелы в начале и в конце строки. Результат выводится на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili