|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
|
Алгоритм сравнения трех чисел29.04.2009, 22:30. Показов 84805. Ответов 38
Метки нет (Все метки)
Голову сломал уже. Подскажите оптимальный алгоритм сравнения трех чисел. Необходимо учесть все варианты, в том числе равенство. У меня получается не 10 сравнений, а это много.
0
|
|
| 29.04.2009, 22:30 | |
|
Ответы с готовыми решениями:
38
Ветвление. Если сумма трех попарно различных действительных чисел x, y, z меньше 1, то наименьшее из этих трех чисел заменить полусуммой двух других
|
|
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
|
|
| 29.04.2009, 22:37 | |
|
а исплользовать массив пробовали?
0
|
|
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
|
| 29.04.2009, 22:43 [ТС] | |
|
все должно быть просто (на операторе if) без массива
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 29.04.2009, 22:51 | |
|
Есть а, б и с.
Проверяем на равенство а, б и с. Это три сравнения, как максимум. Если какие-нибудь из них равны, то дальше все решается за одну преверку. Если все неравны, то дальше, если а больше, чем б, и с больше, чем а, то все понятно. Если а больше б, а с не больше а, то сравниваем еще с с б и тоже все понятно. Если а не больше б, то абсолютно тоже самое получается, только на месте большего а у нас теперь б. та же байда для остальных чисел, только буквы разные. Получается, в самом "удачном" случае 6 проверок. Это первое, что мне в голову пришло. Думаю, есть и лучше решение.
0
|
|
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
||
| 29.04.2009, 23:30 [ТС] | ||
|
Vourhey,
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 29.04.2009, 23:46 | |
|
Это ты и узнаешь на стадии "Проверяем на равенство а, б и с". Мдя...как ни странно...
0
|
|
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
||||||
| 29.04.2009, 23:51 [ТС] | ||||||
|
Нет, видимо мне сегодня не понять
![]() Вот мой код
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 29.04.2009, 23:55 | ||||||
Сообщение было отмечено Памирыч как решение
Решение
пипец...Вот по моему скромному мнению, что если а равен и б и с, когда с еще и равен б, то они все равны. Моя рецензия: лечить.
0
|
||||||
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
||||||
| 30.04.2009, 00:11 [ТС] | ||||||
|
упс, ошибся у меня там
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 30.04.2009, 00:31 | |
|
Тогда реши через булевы операции. Может, количество проверок сократится.
1
|
|
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
||||||
| 30.04.2009, 01:27 [ТС] | ||||||
|
Понял, спасибо! Вот что получилось:
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 30.04.2009, 01:48 | ||||||
|
У меня вот такая байда получилась:
1
|
||||||
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
||||||
| 30.04.2009, 02:11 [ТС] | ||||||
|
Пять If-ов проходит при наихудшем варианте, а всего в коде их 10. И тем не менее спасибо за то что откликнулись и за мысли, а то я уже отчаялся. В диалоге рождается истина. На этом форуме нашел еще код г-на Puporeva на ту же тему только без учета равенства, но идея интересная:
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 30.04.2009, 08:14 | |
|
Погоди. Нам же нужен оптимальный вариант, а не тот, в котором меньше ифов визуально. Или ты задание неправильно дал? Без учета равенства в две строки считается.
0
|
|
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
| 30.04.2009, 08:31 | |
|
У меня Вот какой вопрос, для чего тебе это нужно, если именно для того чтобы выводить такие надписи или для чего то конкретно?
0
|
|
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
|
| 30.04.2009, 08:58 [ТС] | |
|
Vourhey, да, ты прав. Запутался уже совсем. Сказалось то что уже сутки просидел за этим заданием.
![]() mamedovvms, мне это надо потому, что задание такое. Вот исходный текст задания: "Написать команду определения максимального из 3-х введенных с клавиатуры целых чисел. Предусмотреть все варианты (в т.ч. равенство значений)." После того как сдал свой первый вариант была такая рецензия: "Очень уж много операций сравнения, задача решается гораздо компактнее и красивее."
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 30.04.2009, 09:18 | |
|
Блин! Найти максимальное и сравнить все числа Это разные вещи. Максимальное находится, как нефиг делать. Эх ты... :-)
Добавлено через 1 минуту 21 секунду Считай, что зря потратил наше время
0
|
|
|
3 / 3 / 0
Регистрация: 23.04.2009
Сообщений: 39
|
|
| 30.04.2009, 10:02 [ТС] | |
|
Ну что ж, бывает. Виноват, каюсь
0
|
|
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
| 30.04.2009, 10:24 | |
|
ну так что ты нашел ответ на свой вопрос или так и не сделал?
0
|
|
|
Почетный модератор
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
|||||||
| 30.04.2009, 10:31 | |||||||
2
|
|||||||
| 30.04.2009, 10:31 | |
|
Помогаю со студенческими работами здесь
20
Если сумма трех попарно различных действительных чисел X Y Z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|