Вопрос от Анонимного юзера 17 марта 2025 13:34
Ввести предложение длиной не более 80 символов. Определить длину его первого слова и количество слов короче первого. Вывести эти слова. Количество пробелов между словами произвольно. С++
Ответ нейросети
17 марта 2025 13:34
Решим поставленную задачу на языке C++. Мы будем следовать следующим шагам:
- Вводим строку, которая представляет собой предложение.
- Определяем длину первого слова.
- Считаем количество слов, которые короче первого слова, и выводим их.
Вот пошаговое решение:
Шаг 1: Ввод строки
Для ввода строки используем getline, чтобы учитывать пробелы между словами.
Шаг 2: Обработка строки
Нам необходимо найти первое слово и посчитать его длину. Также при обработке будем отслеживать слова, которые короче первого.
Шаг 3: Вывод результата
Выводим длину первого слова и сами слова, которые короче него.
Пример реализации на C++
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
int main() {
std::string input;
// Ввод строки (предложения) длиной не более 80 символов
std::cout << "Введите предложение (до 80 символов): ";
std::getline(std::cin, input);
// Проверяем длину введенной строки
if (input.length() > 80) {
std::cout << "Ошибка: предложение должно быть длиной до 80 символов." << std::endl;
return 1;
}
std::istringstream stream(input);
std::string firstWord;
std::string word;
std::vector<std::string> shorterWords;
// Получаем первое слово
if (stream >> firstWord) {
int firstWordLength = firstWord.length();
std::cout << "Длина первого слова: " << firstWordLength << std::endl;
// Находим слова короче первого
while (stream >> word) {
if (word.length() < firstWordLength) {
shorterWords.push_back(word);
}
}
// Выводим слова короче первого
if (!shorterWords.empty()) {
std::cout << "Слова короче первого слова: ";
for (const auto& w : shorterWords) {
std::cout << w << " ";
}
std::cout << std::endl;
} else {
std::cout << "Нет слов короче первого слова." << std::endl;
}
} else {
std::cout << "Не удалось получить первое слово." << std::endl;
}
return 0;
}
Объяснение кода
- Ввод строки: Мы используем
getlineдля безопасного ввода строки, что позволяет захватывать пробелы. - Проверка длины строки: Условие
if (input.length() > 80)предотвращает ввод слишком длинного предложения. - Обработка с помощью
istringstream: Это позволяет легко разбивать строку на слова. - Определение первого слова: С помощью
stream >> firstWordизвлекаем первое слово и определяем его длину. - Счет слов короче первого: Бежим по оставшимся словам и добавляем в вектор
shorterWordsте, что короче первого. - Вывод результатов: Печатаем длину первого слова и все слова, которые короче.
Таким образом, мы создаем программу, которая выполняет все условия задачи!
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



