В строке, введенной пользователем посчитать: количество слов; сколько раз встречается слово "goe"; поменять местами первое и последнее слово в этой строке. код программы на языке С++
Ответ нейросети
25 марта 2025 07:57
Для решения данной задачи на языке C++, давайте шаг за шагом разберем поставленные задачи.
Шаг 1: Подсчет количества слов
Количество слов в строке можно подсчитать, сначала разбив строку на отдельные слова. В C++ мы можем использовать стандартные функции для работы со строками и потоками.
Шаг 2: Подсчет вхождений слова "goe"
После разделения строки на слова, мы можем пройтись по полученным словам и посчитать, сколько раз встречается слово "goe".
Шаг 3: Поменять местами первое и последнее слово
Для этого нам нужно сохранить первое и последнее слово и поменять их местами.
Полный код программы
Вот как может выглядеть программа на C++:
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
int main() {
std::string input;
std::cout << "Введите строку: ";
std::getline(std::cin, input);
std::istringstream stream(input);
std::string word;
std::vector<std::string> words;
// Шаг 1: Подсчет количества слов и загрузка слов в вектор
while (stream >> word) {
words.push_back(word);
}
// Подсчет количества слов
int wordCount = words.size();
std::cout << "Количество слов: " << wordCount << std::endl;
// Шаг 2: Подсчет вхождений слова "goe"
int countGoe = 0;
for (const auto& w : words) {
if (w == "goe") {
countGoe++;
}
}
std::cout << "Количество вхождений слова 'goe': " << countGoe << std::endl;
// Шаг 3: Поменять местами первое и последнее слово
if (wordCount > 1) {
std::swap(words.front(), words.back()); // Меняем местами
}
// Выводим измененную строку
std::cout << "Измененная строка: ";
for (const auto& w : words) {
std::cout << w << " ";
}
std::cout << std::endl;
return 0;
}
Объяснение работы программы
Ввод строки: Программа запрашивает строку у пользователя и считывает её.
Разделение строки на слова: Используется
std::istringstreamдля потока из строки, что позволяет удобно извлекать слова.Подсчет слов: Все слова помещаются в вектор
words, чтобы мы могли позже с ними работать, и подсчитывается количество слов.Подсчет вхождений: Программа проходит через все слова в векторе и считает количество вхождений слова "goe".
Замена слов: Если в строке больше одного слова, первое и последнее слово меняются местами с помощью функции
std::swap.Вывод результата: Выводится количество слов, количество вхождений "goe", а также измененная строка.
Заключение
Эта программа демонстрирует основные концепции работы со строками и векторами в C++, а также умение работать с потоками для обработки текстовой информации. Вам следует протестировать программу с разными входными данными, чтобы поработать над её пониманием и возможными улучшениями.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



