![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Negent |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.12.2011 Где: Симферополь Репутация: нет Всего: нет |
Как известно, существует, уже ставшая классической задача сравнения массивов на их сходство. Например, частный случай - является ли палиндромом введённое число. Обычно делают так: вводят число в массив (разделяя цифры пробелами, например), и дальше сравнивают, начиная с крайнего левого и крайнего правого разряда, двигаясь к центру. Однако, мой интерес привлекла задача из учебника Дейтелов, в которой авторы предлагают решить задачу, не прибегая к помощи массивов. Задачу я решал очень долго, но всё-таки решение нашёл и решил его опубликовать - поделиться кодом. Вдруг, кто-то из преподавателей захочет дать эту задачу как задачу для сообразительных на высший балл по предмету "программирование". Язык программирования C++.
В общем, решение:
P. S. Использовалась среда программирования MS Visual Studio 2008. |
|||
|
||||
Silent |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 3.10.2006 Репутация: 1 Всего: 9 |
Negent, молодец что решил. Только программист - он не чукча, он не только писатель, но и должен читать программы других. Например, я эту задачу сделаю так:
P.S. Среда тоже VS2008 )) |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
красивое решение. Вот только зачем ты x и y сделал глобальными? Желающим сделать их локальными напоминаю, что локальные переменные по умолчанию не инициализируются нулем, в отличие от глобальных. |
|||
|
||||
Silent |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 3.10.2006 Репутация: 1 Всего: 9 |
а просто так =) задача учебная, требования жестко не зафиксированы. Можно сделать их локальными, можно оформить логику в виде функции bool isPalindrom(int x), можно пойти еще дальше - в ассемблер и sse... и еще стоит заметить, что этот код тоже не работает с отрицательными числами. Все в наших руках ))) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |