Урок 16 Задача 2
Primary tabs
Вспомогательная задача (можно решить, просто используя одномерные массивы):
Пользователь вводит 4 целых числа, считаем все их координатами на прямой, а именно:первые два числа - начало и конце отрезка 1
вторые два - начало и конец отрезка 2Задача: напишите подпрограмму, которая определит пересекаются ли данные отрезки.
Решение:
program u16z02; type newArr = array[1..4] of integer; var a:newArr; i,n: integer; s: string; function otrezki(arr:newArr): string; begin if (arr[1]>arr[3])and(arr[2]<arr[4]) then result:='Otrezki peresekayutsya' else if (arr[1]<arr[3])and(arr[2]>arr[4]) then result:='Otrezki peresekayutsya' else if (arr[1]<arr[3])and(arr[2]>arr[3])and(arr[2]<arr[4]) then result:='Otrezki peresekayutsya' else if (arr[2]>arr[4])and(arr[1]<arr[4])and(arr[1]>arr[3]) then result:='Otrezki peresekayutsya' else result:='Otrezki ne peresekayutsya'; end; begin for i:=low(a) to high(a) do begin write('Vvedite celoe chislo: '); readln(n); a[i]:=n; end; writeln(); s:=otrezki(a); writeln(s); readln(); end.
Консоль:
Vvedite celoe chislo: 1 Vvedite celoe chislo: 5 Vvedite celoe chislo: 2 Vvedite celoe chislo: 7 Otrezki peresekayutsya
- Log in to post comments
- 638 reads
vedro-compota
Wed, 06/15/2022 - 19:43
Permalink
Для случая если вложенность
_____________
матфак вгу и остальная классика =)
avast36
Tue, 07/05/2022 - 09:38
Permalink
Исправил
Решение:
Консоль:
vedro-compota
Wed, 07/06/2022 - 20:41
Permalink
Возвращать boolean для случая
Возвращать boolean для случая пересечения (алгоритм любой рабочий)
_____________
матфак вгу и остальная классика =)
avast36
Thu, 07/07/2022 - 09:19
Permalink
Исправил
Решение: