0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 42
1

Проверить, является ли строка палиндромом. С рекурсией и без рекурсии

11.05.2018, 16:32. Показов 1329. Ответов 1

В один код вместе написать с рекурсией и без рекурсии. Проверить строку на палиндрома?

Это без рекурсии:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <string>
using namespace std;
int main() {
    string s;
    char c;
    while (cin >> c)
    {
        if (c != ' ') 
            s.push_back(c);
    }
    if (s.empty())
    {
        cout << "YES";
        return 0;
    }
    bool palindrom = true;
    for (int i = 0; i <= s.length()/2; i++)
    {
        if (s.at(i) != s.at(s.length()-1-i))
        {
            palindrom = false;
            break;
        }
    }
    cout << (palindrom ? "YES" : "NO");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2018, 16:32
Ответы с готовыми решениями:

Проверить, является ли строка палиндромом без учета пробелов
Дана строка, состоящая из строчных латинских букв и пробелов. Проверьте, является ли она...

Проверить является ли строка палиндромом без использования strrev
Есть у меня такая задача,нужно написать программу, проверяющую, является ли строка палиндромом.не...

Проверить является ли строка палиндромом
дана строка символов.Проверить является ли она палиндромом Visual basic.Текст такой:А роза упала на...

Проверить, является ли строка палиндромом
программа проверяет ОДНО слово на палиндром, а как сделать чтобы она работала с пробелами? var...

1
34 / 34 / 37
Регистрация: 21.06.2012
Сообщений: 152
11.05.2018, 20:17 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
#include <iterator>
#include <functional>
 
template <class Container>
auto is_palindrome(const Container &container) -> bool
{
    using const_iterator = typename Container::const_iterator;
    std::function<bool(const_iterator, const_iterator)> check;
    check = [&check](const_iterator begin, const_iterator end) -> bool
    {
        return (*begin == *end) ? ((begin >= end) ? true
                                                  : check(begin+1, end-1))
                                : false;
    };
    return check(std::cbegin(container), std::cend(container)-1);
}
 
int main(int argc, const char * argv[]) {
    std::string string = "qwertrewq";
    std::cout << std::boolalpha << is_palindrome(string) << std::endl;
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2018, 20:17
Помогаю со студенческими работами здесь

Проверить, является ли строка палиндромом
Возможно я не первый кто просит помочь в данной задачи, но все же повторюсь. Задание: Проверить...

Проверить, является ли строка палиндромом
Проверить, является ли строка полиномом палиндромом (читается одинаково задам-наперед)

Проверить, является ли строка палиндромом
доброго времени суток. помогите пожалуйста. надо реализовать программу... словный палиндром... и...

Проверить является ли строка палиндромом
функция проверяет,является ли передаваемая строка палиндромом?

Проверить, является ли строка палиндромом
Палиндром — это строка (или слово), которая читается одинаково в обоих направлениях, например,...

Проверить, является ли строка палиндромом
Проверить, является ли введенная строка палиндромом (&quot;А роза упала на лапу Азора.&quot;).Необходимо,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru