![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
spektr |
![]()
Сообщение
#1
|
![]() Пилотус ![]() ![]() Группа: Пользователи Сообщений: 101 Пол: Женский Реальное имя: Настасья Репутация: ![]() ![]() ![]() |
Задача: Построить процедуру проверки является ли число полиндромом (читается одинаково справа и слева).
Вопроы: Я чесно юзала поиск и поняла что это надо делать через строку,но когда села писать вот что затрудняет. 1.начинаем считать с i:=1 а заканчиваем чем longht(s) div 2? а если число нечетное? 2.Ну ладно сошлись значения i = longth(s)+1-i ,а что эже дальше их надо где-то обособленно сохранять или как? И вобще в мозге все оказалось проще чем в паскале,как это все загнать под один код непонимаю.Обычно выкладываю увеченый код,сейчас не буду,т.к. совсем все плохо((((((( |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Собираем из числа его перевертыш: Вот смотри:
Допустим, X = 123... Тогда (X mod 10) - это его последняя цифра, ибо работаем мы в 10-ной системе счисления - равна 3... Значит, T = 3, поскольку изначально значению перевертыша присвоен 0... Теперь: мы уже учли эту тройку в перевертыше, но она еще есть и в самом числе, надо его поделить нацело на 10, чтобы избавиться от последней цифры... Делаем это (x := x div 10), получаем X = 12 и T = 3... Дальше опять берем последнюю цифру числа, т.к. условие окончания цикла еще не достигнуто, число не равно 0... Теперь это двойка... Умножая перевертыш на 10, и прибавляя 2 имеем: T = 30 + 2 = 32, опять избавляемся от последней цифры числа делением на 10... Замечаешь? Число переворачивается ![]() Сообщение отредактировано: volvo - |
![]() ![]() |
![]() |
Текстовая версия | 8.09.2025 18:41 |