Задача 4 Урок 16
Primary tabs
Пользователь вводит 4 целых числа, считаем все их координатами на прямой, а именно:
первые два числа - начало и конце отрезка 1
вторые два - начало и конец отрезка 2Задача: напишите подпрограмму, которая определит какой отрезок является пересечением этих двух заданных отрезков (если это пересечение вообще есть).
Примечание: оформить поиск пересечения в виде процедуры, которая получает на вход 4 аргумента целого типа (4 координаты - по две для каждого отрезка) и ещё 2 параметра по ссылке:
одномерный массив из 2 элементов, куда будет записано пересечение (если оно будет найдено)
булево значение, которое показывает найдено ли пересечение
type arr= array [1..2] of integer; var a,b,c: arr; function proverka(a1,b1:arr; var c1:arr):boolean; var i:integer; begin result:=true; if (a1[2]<b1[1]) or (a1[1]>b1[2]) then result:=false else begin if a1[1]>b1[1] then c1[1]:=a1[1] else c1[1]:= b1[1]; if a1[2]<b1[2] then c1[2]:=a1[2] else c1[2]:= b1[2]; end; end; begin readln(a[1],a[2],b[1],b[2]); if proverka(a,b,c) then write(c[1],';',c[2]) else write('ne peresekayutsa'); readln(); end.
- Log in to post comments
- 246 reads