Задача 2 Урок 16

Урок 16

Вспомогательная задача (можно решить, просто используя одномерные массивы):
Пользователь вводит 4 целых числа, считаем все их координатами на прямой,
а именно: первые два числа - начало и конце отрезка 1
вторые два - начало и конец отрезка 2
Задача: напишите подпрограмму, которая определит пересекаются ли данные отрезки.

type ar = array[1..2, 1..2] of integer;

var a: ar = ((0, 0), (-5, 5));

function f1(a1:ar): boolean;

  begin
    result := false;
    if (a1[low(a1), low(a1[low(a1)])] <= a1[high(a1), high(a1[high(a1)])]) and
       (a1[low(a1), high(a1[low(a1)])] >= a1[high(a1), low(a1[high(a1)])]) then
        result := true;
  end;

begin
  writeln(f1(a));
  readln();
end.

КОНСОЛЬ

TRUE
vedro-compota's picture

function f1(a1:ar): boolean;

-- лучше на вход передавать 4 integer-a

function f1(x1, x2, x3, x4: integer): boolean

_____________
матфак вгу и остальная классика =)

type ar = array[1..2, 1..2] of integer;

var a: ar = ((0, 0), (-5, 5));

function searchRes(a1:ar): boolean;

  begin
    result := false;
    if (a1[1, 1] <= a1[2, 2]) and
       (a1[1, 2] >= a1[2, 1]) then
        result := true;
  end;

begin
  writeln(searchRes(a));
  readln();
end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)