Задача 2 Урок 16
Primary tabs
Вспомогательная задача (можно решить, просто используя одномерные массивы):
Пользователь вводит 4 целых числа, считаем все их координатами на прямой, а именно:
-первые два числа - начало и конце отрезка 1
-вторые два - начало и конец отрезка 2
Задача: напишите подпрограмму, которая определит пересекаются ли данные отрезки.
program u16z2; type massiv=array [1..2] of integer; var i,j:integer; a,b:massiv; q:boolean; function f1 (a,b: massiv): boolean; //проверяем общие точки var i,j,n,m:integer; q:boolean; begin q:=false; if a[1]>a[2] then begin n:=a[1]; a[1]:=a[2]; a[2]:=n; end; if b[1]>b[2] then begin m:=b[1]; b[1]:=b[2]; b[2]:=m; end; for i:=a[1] to a[2] do begin for j:=b[1] to b[2] do if i = j then begin q:= true; break; end; if q = true then break; end; result:=q; end; begin writeln('Vvedite tochki 1 otrezka'); for i:=low(a) to high(a) do readln(a[i]); writeln('Vvedite tochki 2 otrezka'); for j:=low(b) to high(b) do readln(b[j]); q:=f1(a,b); if q=true then writeln('+') else writeln('-'); readln(); end.
- Log in to post comments
- 319 reads