Вопрос задан 24.06.2023 в 01:51. Предмет Информатика. Спрашивает Михненко Александр.

C++ ВАЖНЕНЬКО) Пробелы по правилам В строке имеется несколько слов, разделенных одним или

несколькими пробелами. Требуется убрать из текста лишние пробелы: два и более пробелов подряд, а также все пробелы в начале и в конце строки. Входные данные На вход программе подается строка, состоящая не более чем из 255 символов. Выходные данные Выведите преобразованную строку. Примеры Ввод Вывод Odin Dva Tri Odin Dva Tri
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Галат Аня.

Ответ:

#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;

}

Объяснение:

Если тебе нужно помогать с Сириусом, добавь меня, я думаю мы сработаемся)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи в C++ вы можете использовать стандартные строки и итерироваться по каждому символу строки, удаляя лишние пробелы. Вот пример кода, который выполняет указанные действия:

cpp
#include <iostream> #include <string> int main() { std::string input; std::getline(std::cin, input); // Уберем лишние пробелы в начале и конце строки size_t start = input.find_first_not_of(" \t\n"); size_t end = input.find_last_not_of(" \t\n"); if (start == std::string::npos) { // Строка состоит только из пробелов std::cout << "" << std::endl; } else { std::string trimmed = input.substr(start, end - start + 1); // Уберем лишние пробелы между словами std::string result = ""; char prevChar = ' '; for (char currentChar : trimmed) { if (!(prevChar == ' ' && currentChar == ' ')) { result += currentChar; } prevChar = currentChar; } std::cout << result << std::endl; } return 0; }

Этот код сначала удаляет лишние пробелы в начале и конце строки с помощью find_first_not_of и find_last_not_of, а затем проходит по строке и удаляет двойные пробелы между словами. Результат выводится на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос