Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2012, 05:47   #11
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Код:
writeln((a div 1000 = a mod 10) and (a div 100 mod 10 = a div 10 mod 10));
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 18.09.2012, 11:00   #12
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Дано: c - четырехзначное целое число

Найти: симметрично ли с?

решение:

Код:

c1:=abs(c); {это чтоб учесть ввод отрицательного числа и превратить в положительное}

if (c1 div 100)=(c1 mod 10 *10+c1 mod 100 div 10) then
{Число симметричное}
else
{Число ни разу не симметричное}
Примерно так?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 18.09.2012, 15:29   #13
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Код:
writeln((a div 1000 = a mod 10) and (a div 100 mod 10 = a div 10 mod 10));
Оо, а комментарии можно? пожалуйста.

P.S. TinMan, Вы тоже вернулись. Ура, Ура, Ура!
Poma][a вне форума Ответить с цитированием
Старый 18.09.2012, 19:33   #14
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Poma][a, тут все просто:
a div 1000 - самый старший разряд
a mod 10 - самый младший разряд
a div 100 mod 10 - 2 разряд слева
a div 10 mod 10 - 2 разряд справа
Затем сравниваем первую и последнюю цифры - получаем некоторое булево значение.
Также поступаем с 2 оставшимися цифрами.
Эти значения одновременно должны быть истинными.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 18.09.2012, 20:08   #15
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

BDA, огромное спасибо!
Просто вопрос был про "and", в развилке и цикле - использую, но в WriteLn'е..
Тоесть результатом ? (Прошу прощения, но я в дали от вычислительной единицы.)

BDA, увы, но параноидальная шарманка не дает поставить +...

Добрался, и да ответ будет TRUE или FALSE.
Еще раз спасибо TinMan (за чертовски мудрено-простое решение) и BDA(за разъяснения).

Последний раз редактировалось Poma][a; 18.09.2012 в 20:18.
Poma][a вне форума Ответить с цитированием
Старый 23.11.2012, 11:20   #16
Erza
Новичок
Джуниор
 
Регистрация: 23.11.2012
Сообщений: 2
По умолчанию

помогите пожалуйста эту же задачу решить без условных операторов и операторных циклов,используя только операции целочисленной арифметики
Erza вне форума Ответить с цитированием
Старый 23.11.2012, 11:31   #17
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

дык
Цитата:
Сообщение от TinMan Посмотреть сообщение
Код:
writeln((a div 1000 = a mod 10) and (a div 100 mod 10 = a div 10 mod 10));
и решено без условных операторов и циклов
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 23.11.2012, 11:36   #18
Erza
Новичок
Джуниор
 
Регистрация: 23.11.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
дык

и решено без условных операторов и циклов
ох,прошу извинить,я нуб ещё)задача чуточку другая.если введённое число симметрично,то вывести 1,иначе-любое другое число/слово.
с таким условием и без if это сломайся мой мозг)
Erza вне форума Ответить с цитированием
Старый 23.11.2012, 11:57   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Попробуйте
Код:
writeln(ord((a div 1000 = a mod 10) and (a div 100 mod 10 = a div 10 mod 10)));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 23.11.2012, 12:08   #20
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Код:
  writeln(Sqr(n div 1000 - n mod 10) + Sqr(n div 100 mod 10 - n div 10 mod 10) +1)
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести однозначное число и определить его четность в ассемблере kachur76 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 29.01.2012 23:07
Дано число a. Как определить, четное оно, или нечетное? pahanzona Общие вопросы Delphi 5 09.03.2011 12:49
как на делфи написать прогу Ввести с клавиатуры целое число и определить делится ли оно нацело на9и на11 Buyaka Помощь студентам 8 02.01.2010 23:54
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43