Четырехугольник - 2 С++

На плоскости задано 4 точки. Выяснить, является ли четырехугольник, образуемый ими, квадратом.

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

   Четыре строки - по 2 числа в каждой: координаты заданных точек. Входные данные целые числа и не превышают по абсолютной величине 1000.

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

   Если заданные точки являются вершинами квадрата, то вывести "YES", иначе вывести "NO".

 

 

#include <iostream>

using namespace std;

int main()
{
    pair<int, int> a, b, c, d;
    int AB, AC, AD, BC, BD, CD;
    bool x, y, z;
    cin >> a.first >> a.second >> b.first >> b.second >> c.first >> c.second >> d.first >> d.second;
    AB = (a.first - b.first)*(a.first - b.first) + (a.second - b.second)*(a.second - b.second);
    AC = (a.first - c.first)*(a.first - c.first) + (a.second - c.second)*(a.second - c.second);
    AD = (a.first - d.first)*(a.first - d.first) + (a.second - d.second)*(a.second - d.second);
    BC = (b.first - c.first)*(b.first - c.first) + (b.second - c.second)*(b.second - c.second);
    BD = (b.first - d.first)*(b.first - d.first) + (b.second - d.second)*(b.second - d.second);
    CD = (c.first - d.first)*(c.first - d.first) + (c.second - d.second)*(c.second - d.second);
    x = AB == CD && AC == BC && BC == BD && BD == AD && AC + BC == AB;
    y = AC == BD && AB == BC && BC == CD && CD == AD && AB + BC == AC;
    z = AD == BC && AB == BD && BD == CD && CD == AC && AB + BD == AD;
    if (x || y || z) cout << "YES" << endl;
    else cout << "NO" << endl;
}

Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top