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

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

Форум «Всё о Паскале» _ Задачи _ последовательности

Автор: Pikimon 24.03.2006 6:04

заданы последовательности A={a1,a2,...,an} и B={b1,b2, ... ,bn}. Из А и B образована последовательность интервалов C={(a1;b1),(a2;b2), ... ,(an;bn)}. найти пересечение данной последовательности интервалов.

Автор: lapp 24.03.2006 8:26

Чисто математически, решением будет являться интервал, у которого левый конец это максимум всех левых концов (ax), а правый - минимум всех правых (bn). Поиск максимума (минимума) можно организовать примерно так:

  ax:=a[1];
for i:=2 to n do if a[i]>ax then ax:=a[i];

В конце не забудь сделать проверку, не получилось ли ax>=bn. Если да, то пересечение пусто.

Автор: Гость 25.03.2006 17:04

не уверен ж)
т.к. последовательность может быть заданна
а1=50 а2=5 а3=10 а4=8
b1=-23 b2=9 b3=33 b4=-40

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

но вот как это на паскале изложить нипонимаюю )
lapp спасибо что ответил )