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

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

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

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

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
Ответы с готовыми решениями:

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

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

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

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

7
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
13.03.2020, 21:08 2
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 3
Лучший ответ Сообщение было отмечено 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
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
13.03.2020, 21:13 4
Цитата Сообщение от 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 5
Здравствуйте, Байт. Не сильно ли я Вас затрудню если позволю себе попросить озвучить другие глупости? Спасибо).
0
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 227
13.03.2020, 21:18  [ТС] 6
Байт, когда в глазах рябит от кода и ты спешишь, можно и забыть, что индексы начинаются с 0) А вообще,убогая у тебя логика,есть куча тем с рабочим решением,а я зачем то ищу ошибку, вместо ctrl+c/v. Да и вообще,я не просил проверять копирайт.А за подсказку спасибо.
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
13.03.2020, 22:27 7
Цитата Сообщение от fao Посмотреть сообщение
Не сильно ли я Вас затрудню если позволю себе попросить озвучить другие глупости?
Не сильно. Но надобности в этом уже нет. Они были озвучены другими участниками в этой теме.
Цитата Сообщение от d8veloper Посмотреть сообщение
,убогая у тебя логика
Какая есть. Уж ты извиняй.
Цитата Сообщение от d8veloper Посмотреть сообщение
когда в глазах рябит от кода и ты спешишь
Отдохни. Положи на глаза мокрую тряпочку. И спешка никогда не оправдывала глупостей. И в нашем деле, и в любом другом.
Цитата Сообщение от d8veloper Посмотреть сообщение
я не просил
В следующий раз я буду более дотошен. В общении с тобой, я буду всегда уточнять, чего же ты, блин, просил. Но поскольку общение с тобой не очень приятно, я, скорее всего, постараюсь его избегать по мере своих сил и возможностей.
1
0 / 0 / 0
Регистрация: 17.11.2019
Сообщений: 227
14.03.2020, 12:54  [ТС] 8
Байт, это будет лучше всего)

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru