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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tohir_91
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 52
#1

Проверить, является ли слово перевертышем - C++

19.01.2013, 15:32. Просмотров 1023. Ответов 5
Метки нет (Все метки)

Дано слово. Проверить, является ли оно перевертышем (перевертышем називается слово, читаемое одинаково как с начала, так и с конца)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2013, 15:32     Проверить, является ли слово перевертышем
Посмотрите здесь:

Проверить, является ли данное число палиндромом(перевертышем) C++
C++ Определить является ли слово "перевертышем".
Проверить является ли слово палиндромом C++
C++ Проверить, является ли одно слово анаграммой второго
C++ Вытащить слово из текста и проверить, является ли оно палиндромом
C++ Выяснить, является ли данное слово палиндромом(перевертышем)
C++ Проверить, является ли слово или число палиндромом
В деке задать слово. Определить, является ли оно словом-перевертышем C++
C++ Проверить является ли заданное слово палиндромом
Проверить ,является ли введённое слово палиндромом (задача на рекурсию) C++
Определить не является ли одно слово обращением (перевертышем) другого C++
Проверить является ли введенное слово или число палиндромом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
19.01.2013, 15:40     Проверить, является ли слово перевертышем #2
tohir_91 Имеете ввиду является ли слово палиндромом?

Добавлено через 5 минут
Можно вот так сделать
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>  
 
bool func(char* str) 
{  
    int size = strlen(str); 
    int i, j, count = 0; 
 
    for ( i = 0, j = size - 1; i < size / 2; i++, j--) 
        if(str[i] == str[j]) 
            count++;  
    if(count == size / 2) 
        return true; 
    else 
        return false;
}
 
int main() 
{ 
    char str[20]; 
 
    std::cout << "Inter word " << std::endl; 
    std::cin >> str;  
    
    if(func(str)) 
        std::cout << "Yes " << std::endl; 
    else 
        std::cout << "No " << std::endl;
}
Добавлено через 22 секунды
Можете посмотреть в поиске, много раз подобное решалось
Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.01.2013, 15:55     Проверить, является ли слово перевертышем #3
Или как-нибудь так.
C++
1
2
3
4
5
6
7
8
bool is_palindrome(char * str) 
{  
    for(int i = 0, j = strlen(str) - 1; j > i; ++i, --j)
        if(str[i] != str[j])
            return false;
            
    return true;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6677 / 3858 / 511
Регистрация: 29.11.2010
Сообщений: 10,217
19.01.2013, 19:45     Проверить, является ли слово перевертышем #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
bool isPalindrome(const std::string &s)
{
    for (size_t i=0; i < s.length() / 2; i++)
        if (s[i] != s[s.length() - 1 - i]) return false;
    return true;
}
 
int main()
{
    std::cout << std::boolalpha << isPalindrome("abcba");
}
Добавлено через 1 минуту
Или так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
bool isPalindrome(const std::string &s)
{
    for (size_t i=0; i < s.length() / 2; i++)
        if (*(s.begin() + i) != *(s.rbegin() + i)) return false;
    return true;
}
 
int main()
{
    std::cout << std::boolalpha << isPalindrome("abcba");
}
Somebody
2781 / 1595 / 143
Регистрация: 03.12.2007
Сообщений: 4,179
Завершенные тесты: 1
19.01.2013, 21:12     Проверить, является ли слово перевертышем #5
C++
1
2
3
4
bool isPalindrome(const std::string &s)
{
    return std::equal(s.begin(), s.end(), s.rbegin());
}
MrGluck
Ворчун
Эксперт CЭксперт С++
6677 / 3858 / 511
Регистрация: 29.11.2010
Сообщений: 10,217
19.01.2013, 21:18     Проверить, является ли слово перевертышем #6
Итого:
C++
1
2
3
4
bool isPalindrome(const std::string &s)
{
    return std::equal(s.begin(), s.begin() + (s.end() - s.begin()) / 2, s.rbegin());
}
Yandex
Объявления
19.01.2013, 21:18     Проверить, является ли слово перевертышем
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru