Мне требуется код на языке C++ для следующей задачи: необходимо ввести предложение длиной не больше 80 символов

Мне требуется код на языке C++ для следующей задачи: необходимо ввести предложение длиной не больше 80 символов, определить длину первого слова и подсчитать количество слов, которые длиннее первого слова. Затем вывести эти слова. Предполагается, что количество пробелов между словами может быть произвольным.
Ledyanoy_Samuray

Ledyanoy_Samuray

Конечно, я могу помочь вам с этой задачей на языке C++. Вот код, который выполняет описанное вами действие:

cpp
#include
#include
using namespace std;

int main() {
string sentence;
cout << "Введите предложение: ";
getline(cin, sentence);

int firstWordLength = 0;
int wordCount = 0;
string longestWords = "";

// Ищем первое слово и определяем его длину
for (int i = 0; i < sentence.length(); i++) {
if (sentence[i] != " ") { // если символ не пробел
firstWordLength++;
} else {
break;
}
}

// Обрабатываем остальные слова
bool isLongerThanFirst = false;
for (int i = 0; i < sentence.length(); i++) {
if (sentence[i] != " ") { // если символ не пробел
isLongerThanFirst = wordCount > 0 && (i - wordCount - 1) >= firstWordLength;
if (isLongerThanFirst) {
longestWords += sentence[i];
}
wordCount++;
} else {
if (isLongerThanFirst) {
longestWords += " ";
}
isLongerThanFirst = false;
}
}

// Выводим результаты
cout << "Длина первого слова: " << firstWordLength << endl;
cout << "Количество слов, длиннее первого слова: " << (wordCount - 1) << endl;
cout << "Слова, длиннее первого слова: " << longestWords << endl;

return 0;
}


Давайте разберем код по шагам:

1. Мы начинаем с включения нужных заголовочных файлов и объявления пространства имен `std`, чтобы в дальнейшем использовать `cin`, `cout` и `getline`.
2. Создаем переменную `sentence` типа `string`, чтобы хранить введенное предложение.
3. С помощью `getline(cin, sentence)` мы получаем предложение от пользователя.
4. Затем мы объявляем переменные `firstWordLength` (для хранения длины первого слова), `wordCount` (для подсчета количества слов) и `longestWords` (для хранения слов, длиннее первого слова).
5. Используя цикл `for`, мы проходимся по каждому символу предложения и ищем первое слово. Как только встречается пробел, мы прекращаем цикл.
6. Затем с помощью еще одного цикла `for` мы обрабатываем остальные слова. Если длина слова больше длины первого слова, мы добавляем его в переменную `longestWords`.
7. В конце выводим длину первого слова, количество слов, длиннее первого слова, а затем такие слова.

Надеюсь, этот код поможет вам решить задачу. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать.
Знаешь ответ?
Задать вопрос
Привет!
hello