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

Рекурсивная функция определения палиндрома строки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ требуется помощь http://www.cyberforum.ru/cpp-beginners/thread377039.html
Помогите, пожалуйста, переписать "Косынку" в С++ на C#. Очень надо. Помогите, люди добрые. Буду очень благодарен. Спасибо.
C++ Проблема с задачей на масивы Уважаемые,помогите пожалуйста с задачей по С++: Создать программу, которая вводит c клавиатуры двумерный квадратный массив целых чисел, заменяет все отрицательные элементы, находящиеся ниже главной диагонали, на минимальный элемент соответствующей строки и отображает данный массив на экране по столбцам в обратном порядке #include "stdafx.h" #include <iostream> #include <conio.h> #include... http://www.cyberforum.ru/cpp-beginners/thread377036.html
C++ Проблемы с массивами
Здравствуйте, уважаемые. Помогите пожалуйста с задачкой. Создать программу, которая вводит c клавиатуры двумерный массив целых чисел, заносит в одномерный массив суммы неотрицательных элементов по строкам, выводит этот массив на экран до первого нулевого элемента и отображает число оставшихся элементов. // laba6.cpp : Defines the entry point for the console application. // #include...
C++ вывести в виде таблицы значения аргумента и соответствующее ему значение функции
y=(2,5x^3)/(e^2x+2). a) 0≤ x ≤0,5, ∆x=0,1 b)x≥ -0,8, ∆x=0,25, n=6
C++ Вивести у вигляде таблици значений http://www.cyberforum.ru/cpp-beginners/thread376984.html
y=(2,5x^3)/(e^2x+2). a) 0≤ x ≤0,5, ∆x=0,1 b)x≥ -0,8, ∆x=0,25, n=6
C++ Выбрать те из них, модули которых больше 5-ти и напечатать их значения возведённые в куб. a=(l-3k)/2 ,b=(l+k)/l, c=lk-8 Выбрать те из них, модули которых больше 5-ти, и напечатать их значения, возведённые в куб. Язык форума - русский, не забывайте об этом подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
03.11.2011, 06:29     Рекурсивная функция определения палиндрома строки.
В строке 7 у тебя не происходит возврат из функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstdlib>
#include <cstring>
 
bool is_palindrome(const char* str, const size_t sz)
{
    if(sz == 1 || sz == 0 || (str[0] == str[sz - 1] && is_palindrome(str + 1, sz - 2)))
    return true;
 
    return false;
}
 
int main(int argc, char* argv[])
{
    for(int i = 1; i < argc; ++i)
    std::cout << '`' << argv[i] << "' is a palindrome? " << std::boolalpha
          << is_palindrome(argv[i], strlen(argv[i])) << std::endl;
    
    return 0;
}
Код
[nameless@desktop cpp]$ ./sample anna john "able was i ere i saw elba"
`anna' is a palindrome? true
`john' is a palindrome? false
`able was i ere i saw elba' is a palindrome? true
[nameless@desktop cpp]$
 
Текущее время: 10:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru