Вопрос задан 03.04.2021 в 22:11. Предмет Информатика. Спрашивает Волкова Анастасия.

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

конце текста – точка. Напечатать все слова, являющиеся палиндромами.
0 0
Перейти к ответам

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

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

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

}

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

Конечно! Вот пример кода на 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, которая сравнивает слово с его перевернутой версией. Если слово является палиндромом, оно выводится на экран.

0 0

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

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

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