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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 57, средняя оценка - 4.72
Нубик_я
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 22
#1

Проверить является ли слово палиндромом - C++

11.05.2012, 21:41. Просмотров 8836. Ответов 3
Метки нет (Все метки)

Символьная строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).
есть наброски кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void main()
{
    int i,j=0;
    string s,s2;
    cout<<"vvedite slovo\n";
    getline(cin,s);
for (i=s.length()-1;i>=0;i--)
s2[j++]=s[i];
if (memcmp(s, s2, strlen(s)) == 0)
cout<<"palindrom";
else
cout<<"ne palindrom";
getch();
}
выскакивает ошибка связанная с memcmp "memcmp: невозможно преобразовать параметр 1 из 'std::string' в 'const void *'" помогите исправиться или предложите другое решение пожалуйста)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2012, 21:41     Проверить является ли слово палиндромом
Посмотрите здесь:
C++ Проверить является ли заданное слово палиндромом
C++ Проверить, является ли слово или число палиндромом
C++ Вытащить слово из текста и проверить, является ли оно палиндромом
Проверить является ли введенное слово или число палиндромом C++
Проверить ,является ли введённое слово палиндромом (задача на рекурсию) C++
C++ Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом.
C++ Является ли введённое слово с клавиатуры слово палиндромом
C++ Является ли это слово палиндромом.
Определить, является ли слово палиндромом C++
Строки. Является ли слово палиндромом C++
C++ Проверить, является ли строка палиндромом
C++ Проверить, является ли число палиндромом (do/while)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
11.05.2012, 21:54     Проверить является ли слово палиндромом #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 
int main()
{
    char w[20];
    std::cout << " -> ";
    std::cin.getline(w, sizeof w);
 
    if(!std::cin) return 1;
 
    for(size_t i = 0, j = std::strlen(w) - 1; i < j; ++i, --j)
    {
        if(w[i] != w[j])
        {
            std::cout << "no\n";
            return 0;
        }
    }
 
    std::cout << "yes\n";
}
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
11.05.2012, 21:55     Проверить является ли слово палиндромом #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
 
int main(void)
{
    string str, tmp;
    cout << "enter str: ";
    cin >> str;
    tmp = str;
    reverse(str.begin(), str.end());
    if (str == tmp)
        cout << "YES";
    else
        cout << "NO";
    return 0;
}
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
11.05.2012, 22:00     Проверить является ли слово палиндромом #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
cout << (equal(str.begin(), str.end(), str.rbegin()) ? "yes\n" : "no\n");
Yandex
Объявления
11.05.2012, 22:00     Проверить является ли слово палиндромом
Ответ Создать тему
Опции темы

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