Курилка Непересечение интервалов

Тема в разделе "Курилка", создана пользователем TerANik, 24 мар 2015.

  1. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Как то так:
    Код:
    Функция а(Н1, К1, Н2, К2)
    
    НПересечения = Максимум(Н1, Н2)
    КПересечения = Минимум(К1, К2)
    
    Если НПересечения > КПересечения Тогда //<- не пересекаются, вернуть координаты первого (случай 6, 7)
    Возврат Н1,К1;
    
    Если НПересечения = Н1 и КПересечения = К1 Тогда //<- Либо отрезки совпадают, либо второй больше первого (случай 1, 5)
    Возврат Пусто;
    
    Если НПересечения = Н1 и КПересечения < К1 Тогда //Случай 2
    Возврат КПересечения, К1;
    
    Если КПересечения = К1 и НПересечения > Н1 Тогда //Случай 3
    Вернуть Н1, НПересечения;
    
    Если НПересечения > Н1 и КПересечения < К1 Тогда //Случай 4
    Возврат Н1, НПересечения; КПересечения, К1
    
    TerANik нравится это.
  2. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Думал что можно оптимизировать через Максимум Минимум но моск сегодня не работает. Спасибо. Сейчас теперь в запрос через выбор интерпретирую.

Поделиться этой страницей