На с++
Пересечение отрезков

На прямой заданы два отрезка: [a;b] и [c;d]. Выведите YES, если они пересекаются, и NO в противном случае.


Входные данные


На вход программе подаются четыре целых числа a, b, c, d (0≤a,b,c,d≤100, a≤b, c≤d.


Выходные данные


Выведите YES или NO в зависимости от ответа на вопрос задачи.


Примеры

Ввод

Вывод

1 3 2 4

YES

1 2 3 4

NO

1 2 2 4

YES

Ответы

Ответ дал: ivanpozdeev2015
0
Include <iostream>
Using namespace std;
void main {
int a=0, c=0, b=0, d=0;
Cout << "enter a segment one: ";
Cin >> a >> b;
Cout << '\n'<<"enter a segment to: ";
Cin >> c >> d;
If((a >= c && a <= d) || (b >= c && b <= d)) {
Cout << '\n' << " Yes";
}
Else {Cout << '\n' << "No";}
}

ivanpozdeev2015: Тут не совсем верное решение, я не добавил несколько условий в оператор if.
ivanpozdeev2015: По типу:
ivanpozdeev2015: А < С и Б > С и Б < Д, то да; А > Д и Б < Д и Б > С то да; А < С и Б > Д то да; С > А и Д < Б то да
ivanpozdeev2015: Условные операторы: || - или, && - и. Попробуете сами дописать?
MIKS01W: там же 2 условий хватает ....
Похожие вопросы