Показать сообщение отдельно
  #2  
Старый 31.08.2022, 23:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну так и писать.
Как я понимаю, иксы в массивах одинаковые.
Соотв.:
Код:
uses
  System.Math;

type
  TPointItem = record
    x, y : Integer;
  end;

var
  A, B : array [1..10] Of TPointItem;

var
  I : Integer;
  sgn : Integer;
  Idx : Integer;
begin
  Idx := 0;
  sgn := sign(A[1].y - B[1].y);
  For I := 2 To 10 Do
    Begin
      If sign(A[i].y - B[i].y) <> sgn Then
        Begin
          Idx := I;
          Break;
        End;
    End;
  If Idx > 0 
    Then ShowMessage('Intersect at Index = ' + IntToStr(I))
    Else ShowMessage('Intersection not found');
end;
Ответить с цитированием