АЧ
Анастасия Чиркова

разработать рекурсивную функцию, возвращающую значение, определяющую, является ли заданная строка палиндромом. c++

АМ
Анна Манжос

#include
#include
#include

using namespace std;

bool is_palindrome(string &s, size_t b = 0, size_t e = -1) {
if (e == -1) return is_palindrome(s, b, s.size());
if (b >= e) return true;
if (isspace(s[ b]) || ispunct(s[ b])) return is_palindrome(s, b + 1, e);
if (isspace(s[e - 1]) || ispunct(s[e - 1])) return is_palindrome(s, b, e - 1);
if (tolower(s[ b]) == tolower(s[e - 1])) return is_palindrome(s, b + 1, e - 1);
return false;
}

int main() {
string s;
cout << "string? ";
getline(cin, s);
cout << (is_palindrome(s) ? "" : "not ") << "palindrome\n";
}

ВШ
Валерия Ш.

а ты чё тут препод чтоб задания давать?

Похожие вопросы
Может ли функция в паскале возвращать два значения?
Паскаль рекурсивная функция.
Разработать функцию, которая выравнивает строку по левому краю до заданной длины.
как сделать чтобы функция c++ возвращала массив?
Иногда функция возвращает значение NaN
Разработать функцию, которая для заданного натурального числа N возвращает значение true - если число положительное, fa
Разработать рекурсивную функцию для вывода на экран след. картинки
Сделайте рекурсивную функцию С++
Составление программ с использованием функций, не возвращающих значения (C++)
С++. Функции, возвращаемое значение типа struct.