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

Определить является ли слово "перевертышем". - C++

Восстановить пароль Регистрация
 
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
11.11.2011, 18:52     Определить является ли слово "перевертышем". #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
#include <iostream>
#include <string>
using namespace std;
 
int main(){
    string s1;
    //являеться ли словоперевертышем? поп
    getline(cin, s1);
    cout<<"Dlina: "<<s1.length()<<endl;
    int lin= s1.length();
    
    bool ser=false;
    int lin2=lin/2;
    for (int i=0,lin;i<=lin2;lin--,i++){
    if (s1.at(i)== s1.at(lin))  {ser=true;continue;}
    else { cout <<"no";break;}
    }
    if (ser==true){
    cout << "da";}
 
 
    return 0;
}
Попрошу подсказать ,что исправить/добавить/удалить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2011, 18:52     Определить является ли слово "перевертышем".
Посмотрите здесь:

C++ вывести на друк слово "Одинаковые" если эти массивы полностью совпадают,и слово "Разные" в противоположном случае.
C++ Проверить, является ли слово перевертышем
C++ Выяснить, является ли данное слово палиндромом(перевертышем)
C++ Совпадает ли число со своим "перевертышем"
C++ Проверить, является ли третье слово в массиве знаком "="
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.11.2011, 19:08     Определить является ли слово "перевертышем". #2
C++
1
2
3
4
bool is_palindrome(const std::string &str)
{
    return std::string(str.rbegin(), str.rend()) == str;
}
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
11.11.2011, 19:22     Определить является ли слово "перевертышем". #3
C
1
2
3
4
5
char is_symmetrical( const char * begin, const char * end )
{
    while( *begin++ == *--end );
    return begin != end;
}
Добавлено через 3 минуты
Ну или если на плюсах обобщить, то
C++
1
2
3
4
5
6
template <typename Iterator>
bool is_symmetrical( Iterator begin, Iterator end )
{
    while( *begin++ == *--end );
    return begin != end;
}
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
11.11.2011, 22:59  [ТС]     Определить является ли слово "перевертышем". #4
Просто потрясающее.
Yandex
Объявления
11.11.2011, 22:59     Определить является ли слово "перевертышем".
Ответ Создать тему
Опции темы

Текущее время: 04:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru