Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 227

Проверить строку на палиндром

13.03.2020, 20:48. Показов 1306. Ответов 7
Метки cpp (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.Подскажите, пожалуйста,почему функция не работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
bool defstr(char* str,int size) {
    int length = strlen(str);
    bool flag = 1;
    int count = 0;
        for (short j = length; j >= 0; j--) {
            if (*(str + count++) != *(str + j)) {
                flag = 0;
                break;
            }  
        }
    return flag;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2020, 20:48
Ответы с готовыми решениями:

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

Проверить, можно ли из строки сделать палиндром
Помогите написать программу. Нужно проверить, можно ли из строки сделать палиндром. Пример: adraedr Ответ: да, можно : adrerda

Рекурсия: проверить на палиндром часть строки
написал программу вот такую как ее оформить в виде рекурсивной функции . эта программа проверяет на палиндром строку от i до j ...

7
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.03.2020, 21:08
d8veloper, Откуда взяли этот код? Сами придумали? Не верю. Изощренность кода подразумевает некоторое понимание происходящего.
Однако, явная глупость заметна
Цитата Сообщение от d8veloper Посмотреть сообщение
for (short j = length; j >= 0; j--) {
Надо
C++
1
j = length - 1 ...
Однако, в коде полно и других глупостей. Не столь явных и заметных, но вступающих в противоречие с лихостью владения указательной арихметикой....
0
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
13.03.2020, 21:13
Лучший ответ Сообщение было отмечено d8veloper как решение

Решение

Цитата Сообщение от d8veloper Посмотреть сообщение
j = length
Цитата Сообщение от d8veloper Посмотреть сообщение
*(str + j)
Последний символ строки не str+length, а str+length-1.
Сделайте
C++
1
for (short j = length-1; j >= 0; j--)
Можно и одним счетчиком обойтись (+не нужно всю строку проверять, можно только до середины)
C++
1
2
3
4
5
6
for (short j = 0; j<length/2; j++) {
     if (*(str + j) != *(str + length-j-1)) {
       flag = 0;
       break;
   }  
}
2
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
13.03.2020, 21:13
Цитата Сообщение от d8veloper Посмотреть сообщение
Доброго времени суток.Подскажите, пожалуйста,почему функция не работает.
C++
1
2
3
for (int i = 0, j = length - 1; i < j; ++i, --j)
    if (std[i] != str[j])
        return false;
1
199 / 155 / 45
Регистрация: 11.11.2019
Сообщений: 348
13.03.2020, 21:16
Здравствуйте, Байт. Не сильно ли я Вас затрудню если позволю себе попросить озвучить другие глупости? Спасибо).
0
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 227
13.03.2020, 21:18  [ТС]
Байт, когда в глазах рябит от кода и ты спешишь, можно и забыть, что индексы начинаются с 0) А вообще,убогая у тебя логика,есть куча тем с рабочим решением,а я зачем то ищу ошибку, вместо ctrl+c/v. Да и вообще,я не просил проверять копирайт.А за подсказку спасибо.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.03.2020, 22:27
Цитата Сообщение от fao Посмотреть сообщение
Не сильно ли я Вас затрудню если позволю себе попросить озвучить другие глупости?
Не сильно. Но надобности в этом уже нет. Они были озвучены другими участниками в этой теме.
Цитата Сообщение от d8veloper Посмотреть сообщение
,убогая у тебя логика
Какая есть. Уж ты извиняй.
Цитата Сообщение от d8veloper Посмотреть сообщение
когда в глазах рябит от кода и ты спешишь
Отдохни. Положи на глаза мокрую тряпочку. И спешка никогда не оправдывала глупостей. И в нашем деле, и в любом другом.
Цитата Сообщение от d8veloper Посмотреть сообщение
я не просил
В следующий раз я буду более дотошен. В общении с тобой, я буду всегда уточнять, чего же ты, блин, просил. Но поскольку общение с тобой не очень приятно, я, скорее всего, постараюсь его избегать по мере своих сил и возможностей.
1
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 227
14.03.2020, 12:54  [ТС]
Байт, это будет лучше всего)

upd Так что иди выпендривайся перед другими новичками... здесь тебя не оценили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2020, 12:54
Помогаю со студенческими работами здесь

Как в двумерном массиве проверить главную диагональ на палиндром?
Есть какой-нибудь код? P.S. Матрица квадратная

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

Определить минимальное количество символов, которые нужно добавить в строку, чтобы получить палиндром
Здравствуйте, помогите пожалуйсто, был бы очень признателен хотя бы за идею решения(поидеи методом ветвей и границ она решается) ...

Определить минимальное количество символов, которые нужно добавить в строку, чтобы получить палиндром
Определить минимальное количество символов, которые нужно добавить в строку, чтобы получить палиндром например: ввод aziz ...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru