• Найти длину наибольшей диагонали выпуклого многоугольника, заданного координатами своих вершин. В Паскаль!!

Ответы 1

  • // PascalABC.NET 3.2, сборка 1439 от 09.05.2017// Внимание! Если программа не работает, обновите версию!type  Point=(real,real);function ReadPoint(n:integer):Point;begin  var a,b:real;  Write('Координаты точки ',n,': '); Read(a,b);  Result:=(a,b)end;function GetPoints(n:integer):array of Point;begin  Result:=new Point[n];  for var i:=0 to n-1 do Result[i]:=ReadPoint(i+1)end;function Lsqr(a,b:Point):=sqr(b[0]-a[0])+sqr(b[1]-a[1]);function Diags(a:array of Point; n:integer):array of real;begin  Result:=new real[n*(n-3) div 2];  var k:=0;  for var i:=0 to n-3 do    for var j:=i+2 to min(n+i-2,n-1) do begin      Result[k]:=Lsqr(a[i],a[j]);      k+=1      end;end;begin  var n:=ReadInteger('Количество вершин:');  if n>3 then begin    var a:=GetPoints(n);    Writeln('Длина наибольшей диагонали равна ',sqrt(Diags(a,n).Max):0:5)    end  else Writeln('Диагонали отсутствуют')end.ПримерКоличество вершин: 5Координаты точки 1: -3 2.5Координаты точки 2: 3 5.2Координаты точки 3: 6.1 1Координаты точки 4: 2 -7.3Координаты точки 5: -5 -7Длина наибольшей диагонали равна 14.58904
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years