Я считаю, что даны последовательные вершины четырехугольника, если нет - тогда придется немного поперебирать случаи.
Четырехугольник - ромб, если его диагонали перпендикулярны и середины диагоналей совпадают.
Программа
var xa, ya, xb, yb, xc, yc, xd, yd: integer;
var perp, center: boolean;
begin
read(xa, ya, xb, yb, xc, yc, xd, yd);
perp := (xa - xc) * (xb - xd) + (ya - yc) * (yb - yd) = 0;
center := (xa + xc = xb + xd) and (ya + yc = yb + yd);
if perp and center then
writeln('Rhombus')
else
writeln('NOT rhombus')
end.
Пример ввода:
-1 2
-2 -1
1 -2
2 1
Пример вывода:
Rhombus
Я считаю, что даны последовательные вершины четырехугольника, если нет - тогда придется немного поперебирать случаи.
Четырехугольник - ромб, если его диагонали перпендикулярны и середины диагоналей совпадают.
Программа
var xa, ya, xb, yb, xc, yc, xd, yd: integer;
var perp, center: boolean;
begin
read(xa, ya, xb, yb, xc, yc, xd, yd);
perp := (xa - xc) * (xb - xd) + (ya - yc) * (yb - yd) = 0;
center := (xa + xc = xb + xd) and (ya + yc = yb + yd);
if perp and center then
writeln('Rhombus')
else
writeln('NOT rhombus')
end.
Пример ввода:
-1 2
-2 -1
1 -2
2 1
Пример вывода:
Rhombus