Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ MaxMin

Автор: Client 6.12.2007 23:33

Нашел задание: даны 2 числа, напечатать сначала большее, потом меньшее, при этом не используя нигде операции сравнения.
Не могу сделать т.к. все равно прихожу к сравнению.
Помогите пожалуйста.

Автор: volvo 6.12.2007 23:38

Спойлер (Показать/Скрыть)
По-моему, уже кто-то спрашивал, как такое сделать...

Автор: Client 6.12.2007 23:46

ух.. no1.gif
Нереально быстро ты меня спас
Не перестаю удивляться volvo
+1

Автор: Michael_Rybak 6.12.2007 23:47

У меня есть еще более хитрое задание. Сравнить два числа, не прибегая к операциям сравнения.

P.S. Это невозможно.



Добавлено через 2 мин.
Хотя... Если в коде volvo заменить abs на квадратный корень из квадрата аргумента, тогда пожалуй, пожалуй smile.gif

Автор: мисс_граффити 7.12.2007 2:01

я спрашивала.
года 2 назад...

Автор: Client 7.12.2007 20:57

Michael_Rybak а знак равно (=) тоже нельзя использовать?

Автор: Michael_Rybak 7.12.2007 21:30

Ну это тебе виднее.

Конечно нельзя.

Автор: Client 7.12.2007 21:48

Я про твоё задание.
Просто напиши что MAX больше MIN smile.gif
мисс_граффити а кто помог?

Автор: Michael_Rybak 8.12.2007 7:16

Мое задание - это типа такой сарказм был беззлобный. Дело в том, что у тебя в условии сказано - вывести сначала большее, а потом меньшее, не применяя сравнения. Это то же самое, что сравнить, не применяя сравнения. Хотя, как оказалось, сравнить, не применяя сравнения, таки можно.

Автор: Client 8.12.2007 10:27

Цитата
Хотя, как оказалось, сравнить, не применяя сравнения, таки можно.
Если ты сделал, то можешь выложить код?

Автор: Malice 8.12.2007 14:28

Цитата(Michael_Rybak @ 8.12.2007 3:16) *

Это то же самое, что сравнить, не применяя сравнения ( т.е. это сделано ). Хотя, как оказалось, сравнить, не применяя сравнения, таки можно (но ведь сделано же...)

Вообще не понял что ты задумал.. В коде Volvo можно же сделать writeln(max:4, ' ,больше ',min:4);
Или чтоб числа местами не менялить ? Показывай короче smile.gif

Автор: Michael_Rybak 8.12.2007 16:23

Да, Malice, в том то и дело, что можно.

Так, давайте всё порядку.

В коде volvo используется функция abs, которая неявно использует сравнение. НО. Ее можно заменить на sqrt(x * x), и тут уже сравнения нет, а результат тот же (если, конечно, считать эти операции атомарными).

Поэтому решение volvo можно считать правильным, по большому счету.

А я думал что нельзя. Потому ехидно написал что лучше сразу давайте сравним без сравнения.

Канэц.