
Написать на с++. Использовать функции. Ввести текст, состоящий из слов, разделенных пробелом. В
конце текста – точка. Напечатать все слова, являющиеся палиндромами.

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

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
bool Palindrome(const std::string& str)
{
std::string temp = str;
std::reverse(temp.begin(), temp.end());
return str == temp;
}
void Print(const std::vector<std::string>& vec)
{
for (const auto &val : vec)
{
std::cout << val << " ";
}
}
int main()
{
std::vector<std::string> palindromes;
std::string str;
std::cin >> str;
while (str != ".")
{
if (Palindrome(str))
{
palindromes.push_back(str);
}
std::cin >> str;
}
Print(palindromes);
return 0;
}



Конечно! Вот пример кода на C++, который считывает текст, разделенный пробелами, и печатает все палиндромы:
cpp#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
// Функция, которая проверяет, является ли слово палиндромом
bool isPalindrome(const std::string& word) {
std::string reversed = word;
std::reverse(reversed.begin(), reversed.end());
return (word == reversed);
}
int main() {
std::string text;
std::cout << "Введите текст: ";
std::getline(std::cin, text);
// Создаем поток из строки для разделения на слова
std::istringstream iss(text);
std::vector<std::string> words;
// Считываем все слова из строки и сохраняем их в векторе
std::string word;
while (iss >> word) {
// Удаляем знаки препинания, если есть
word.erase(std::remove_if(word.begin(), word.end(), ispunct), word.end());
words.push_back(word);
}
std::cout << "Палиндромы в тексте: ";
// Проверяем каждое слово на палиндромность и выводим результат
for (const std::string& word : words) {
if (isPalindrome(word)) {
std::cout << word << " ";
}
}
std::cout << std::endl;
return 0;
}
Программа сначала запрашивает у пользователя ввод текста, а затем разделяет его на отдельные слова. Затем каждое слово проверяется на палиндромность с помощью функции isPalindrome
, которая сравнивает слово с его перевернутой версией. Если слово является палиндромом, оно выводится на экран.


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