Палиндром - ошибка

233
13 ноября 2017, 21:20

Программа должна проверять строку на палиндром. Не понимаю , в чем ошибка. Компилятор пишет не хватает точки запятой , проверяю вроде все есть. Помогите разобраться.

    #include <iostream>
    #include <string>
    using namespace std;
    bool isPalindrom (string s){
        string h ;
        h="";
        for (auto i : s)  {
            h = i + h ;
        }
        if (h == s ) {
            return true ;
        }
        return false ;
    }
    int main() {
        string s ;
        cin >> s ;
        cout  << isPalindrom(s) ;
        return 0;
    }
Answer 1

Кстати, если уж вы используете строки C++ и разворачиваете строку в обратном направлении, то было бы эффективнее сделать так:

bool isPalindrom (const string& s)
{
    string h(s);
    reverse(h.begin(),h.end());
    return h == s;
}
READ ALSO
Ошибка undefined reference to + list&lt;T&gt;::iterator it? [дубликат]

Ошибка undefined reference to + list<T>::iterator it? [дубликат]

На данный вопрос уже ответили:

283
Какой компилятор для С++ лучше? [требует правки]

Какой компилятор для С++ лучше? [требует правки]

Не можете подсказать, какой компилятор для С++ лучше? Изучил основы С++ и хочу попрактиваться

227
C++ Преобразование vector&lt;string&gt; в int

C++ Преобразование vector<string> в int

Добрый вечерУ меня имеется вот такая задачка: Создайте вектор, хранящий десять строковых значений " zero " , " one " , "

292
XML документация с++ в Visual Studio

XML документация с++ в Visual Studio

Недавно узнал, что /// в Visual Studio используется для создания Xml документацииТакже выяснил можно просматривать описание функций с помощью тега...

215