Другие языки программирования и технологии

Из входной строки напишите программу, чтобы найти самый длинный палиндром, который существует. C++

#include <iostream>
#include <windows.h>
#include <cctype>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<string> get_words(const string &);

bool is_palindrome(const string &);

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "rus");
system("color 0A");

cout << "Введите текст" << endl;
string s;
getline(cin, s);

auto words = get_words(s);
vector<string> palindromes;
for (const auto &word : words)
{
if (is_palindrome(word))
{
palindromes.push_back(word);
}
}
auto predicate = [](string s1, string s2)
{
return s1.size() > s2.size();
};
sort(palindromes.begin(), palindromes.end(), predicate);
auto max_len = palindromes[0u].size();
cout << "Самые длиный (е) палиндром (ы) в этой строке " << endl;
for (const auto &word : palindromes)
{
if (word.size() == max_len)
{
cout << word << endl;
}
}

system("pause");
return 0;
}

vector<string> get_words(const string &input)
{
vector<string> words;
string word;
for (const auto &c : input)
{
if (
c >= 'A' && c <= 'Z' ||
c >= 'a' && c <= 'z' ||
c >= 'А' && c <= 'п' ||
c >= 'р' && c <= 'я'
)
{
word.push_back(c);
}
else
{
if (!word.empty())
{
words.push_back(word);
}
word.clear();
}
}
if (!word.empty())
{
words.push_back(word);
}
return words;
}

bool is_palindrome(const string &word)
{
bool flag = true;
for (size_t u = 0u; u < word.size() / 2u; ++u)
{
if (word[u] != word[word.size() - 1u - u])
{
flag = false;
break;
}
}
return flag;
}
Сергей Кетов
Сергей Кетов
8 552
Лучший ответ
Ermuhan Temirgazinov А можешь сделать так, чтобы вводилось число и из него находился самый длинный палиндром? То есть скорее всего это палиндром будет находится где то в середине, вернее не известны границы получается
что то знакомое.... а что...
Dima Ivanov
Dima Ivanov
10 755
Виталий Калганов Задачка из школьной олимпиады по программированию лохматого года. Только из файла надо было =)

Решение с палиндромом недавно пролетало (скидывал), но там без самого длинного =)