Даны действительные числа x1,y1,x2,y2,x3,y3. выясните является треугольник с такими вершинами равносторонний. pascal

доминион11 доминион11    3   15.09.2019 04:50    0

Ответы
Anyazolotiya Anyazolotiya  07.10.2020 16:11
Program n1;
var kord: array[1..6] of real;
st: array [1..3] of real;
i: integer;
begin
i:=1;
while i<=6 do
begin
write('введите координаты точки через пробел: ');
readln(kord[i],kord[i+1]);
i:=i+2;
end;
st[1]:=sqrt(sqr(kord[3]-kord[1])+sqr(kord[4]-kord[2]));
st[2]:=sqrt(sqr(kord[5]-kord[1])+sqr(kord[6]-kord[2]));
st[3]:=sqrt(sqr(kord[5]-kord[3])+sqr(kord[6]-kord[4]));
if (st[1]=st[2]) and (st[2]=st[3]) then write('треугольник равносторонний') else write('треугольник не равносторонний');
end.
ПОКАЗАТЬ ОТВЕТЫ
atamanova91 atamanova91  07.10.2020 16:11
// PascalABC.NET 3.3, сборка 1605 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var P:=new real[3,2]; // массив координат вершин
  for var i:=0 to 2 do
    (P[i,0],P[i,1]):=ReadReal2('Введите x и y вершины '+(i+1));
  // длины сторон
  var L:(real,real)->real:=(x,y)->Sqrt(x**2+y**2);
  var a:=L(P[1,0]-P[0,0],P[1,1]-P[0,1]);
  var b:=L(P[2,0]-P[1,0],P[2,1]-P[1,1]);
  var c:=L(P[0,0]-P[2,0],P[0,1]-P[2,1]);
  if (a+b>c) and (a+c>b) and (b+c>a) then // треугольник существует
    if (a=b) or (a=c) or (b=c) then Writeln('Треугольник равнобедренный')
    else Writeln('Треугольник не равнобедренный')
  else Writeln('Треугольник построить невозможно')  
end.

Замечание: для сборок ниже 1603 от 30.12.2017 необходимо заменить
Sqrt(x**2+y**2) на Sqrt(x*x+y*y)

Даны действительные числа x1,y1,x2,y2,x3,y3. выясните является треугольник с такими вершинами равнос
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика