Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран строки, состоящие из заданного количества слов http://www.cyberforum.ru/cpp-beginners/thread1110304.html
Вывести на экран строки, состоящие из заданного количества слов (количество задается с клавиатуры пользователем).
C++ В строке найти самое длинное симметричное слово Помогите пожалуйста написать программу. Задача:В строке найти самое длинное симметричное слово(кабак, казак,...). Надо что-бы было реализовано через функции(например: *strpbrk, *strncpy, swscanf и... http://www.cyberforum.ru/cpp-beginners/thread1110300.html
C++ Даны два одномерные массивы A (a [1], a [2], ..., a [n]) и B (b [1], b [2], ..., b [m]), размеры равны n и m . Упорядочить их указанными методами
Даны два одномерные массивы A (a , a , ..., a ) и B (b , b , ..., b ), размеры которых равны n и m соответственно. Упорядочить их указанными методами. Упорядоченные массивы слить в массив C (c , c ,...
C++ Запись выражения
sin^3(x)+3.7/5; Добавлено через 16 секунд синус в кубе Добавлено через 12 минут ???? Добавлено через 3 минуты Че никто не может решить???
C++ В прямоугольной матрицы поменять местами строки, содержащие максимальный и минимальный ее элементы http://www.cyberforum.ru/cpp-beginners/thread1110245.html
В прямоугольной матрицы поменять местами строки, содержащие максимальный и минимальный ее элементы. Большое вам спасибо!!!
C++ Вычислить и вывести на экран в виде таблицы значения функции Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Xнач до Xкон с шагом dx с точностью E. e^(-x) = 1 - x + x^2 / 2! - x^3 / 3! + x^4 / 4!... подробнее

Показать сообщение отдельно
Александр1115
2 / 2 / 0
Регистрация: 24.11.2013
Сообщений: 33
05.03.2014, 15:08  [ТС]
например, если дана строка "Я иду с мечем судия" то это палиндром. нам не нужно проверять каждое слово, т.к. само слово может и не быть палиндромом, но вся строка должна.Нашел код, но не понимаю что происходит в нем.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>
#include <cctype>
#include <iostream>
 
using namespace std;
 
bool is_palindrome(string &s, unsigned int i = 0, unsigned int j = -1) {
    if (j == -1) return is_palindrome(s, i, s.size());
    if (i >= j) return true;
    if (isspace(s[ i]) || ispunct(s[ i])) return is_palindrome(s, i + 1, j);
    if (isspace(s[j - 1]) || ispunct(s[j - 1])) return is_palindrome(s, i, j - 1);
    if (tolower(s[ i]) == tolower(s[j - 1])) return is_palindrome(s, i + 1, j - 1);
    return false;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru