Помощь - Поиск - Пользователи - Календарь
Полная версия: последовательности
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Pikimon
заданы последовательности A={a1,a2,...,an} и B={b1,b2, ... ,bn}. Из А и B образована последовательность интервалов C={(a1;b1),(a2;b2), ... ,(an;bn)}. найти пересечение данной последовательности интервалов.
Lapp
Чисто математически, решением будет являться интервал, у которого левый конец это максимум всех левых концов (ax), а правый - минимум всех правых (bn). Поиск максимума (минимума) можно организовать примерно так:
  ax:=a[1];
for i:=2 to n do if a[i]>ax then ax:=a[i];

В конце не забудь сделать проверку, не получилось ли ax>=bn. Если да, то пересечение пусто.
Гость
не уверен ж)
т.к. последовательность может быть заданна
а1=50 а2=5 а3=10 а4=8
b1=-23 b2=9 b3=33 b4=-40

и если на бемажке посматреть то пересечение будет на отрезке (a2;a4)

но вот как это на паскале изложить нипонимаюю )
lapp спасибо что ответил )
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.