Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс - Pascal
Формулировка задачи:
Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс.
Даны 8 целых точек - координаты точек A, B, C, D. Каждое из чисел не превышает 10000.
Выводится одно число - общая длина проекции. Если общей части нет - вывести -1, если это одна точка, вывести 0.
Примеры:
Входной файл:
2 1 5 -3 6 4 10 -12
Выходной файл:
-1
Входной файл:
2 0 6 -4 6 12 9 -45
Выходной файл:
0
Решение задачи: «Даны координаты двух отрезков AB и CD. Найдите общую часть проекций этих отрезов на ось абцисс»
textual
Листинг программы
var a, b, c, d, t: Integer; begin Read(a,t,b,t,c,t,d,t); if a>b then begin t:=a; a:=b; b:=t; end; if c>d then begin t:=c; c:=d; d:=t; end; if a>c then begin t:=a; a:=c; c:=t; t:=b; a:=d; d:=t; end; if c>b then t:=-1 else if b<d then t:=b-c else t:=d-c; WriteLn(t); end.
Объяснение кода листинга программы
- Объявление переменных:
a
,b
,c
,d
- целочисленные переменные для координат отрезковt
- целочисленная переменная для временного хранения значения
- Считывание значений координат отрезков:
- Считывание координат отрезков AB и CD через пробел и сохранение их в переменные
a
,b
,c
,d
, соответственно. - Считывание значений координат на оси абсцисс
t
для каждого отрезка.
- Считывание координат отрезков AB и CD через пробел и сохранение их в переменные
- Сортировка координат:
- Если a > b, то меняем местами значения a и b.
- Если c > d, то меняем местами значения c и d.
- Нахождение общей части проекций отрезков на ось абсцисс:
- Если a > c, то меняем местами значения a и c, и b и d.
- Если c > b, присваиваем переменной
t
значение -1. - Иначе, если b < d, то присваиваем переменной
t
значение b - c. - В противном случае присваиваем переменной
t
значение d - c.
- Вывод результата:
- Выводим значение переменной
t
с новой строки.
- Выводим значение переменной
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д