Предмет: Информатика,
автор: Ясело
Помогите сделать программу pascal. В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1y1х2, у2, х3, у3, и т. д. Определить минимальный радиус круга с центром в начале координат, который содержит все точки.
Ответы
Автор ответа:
0
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
function Dist2(a,b:real):=a*a+b*b; // квадрат расстояния до точки
begin
var n:=ReadInteger('n=');
var a:=SeqRandom(2*n,-999,999).Select(t->t/10).ToArray;
a.Println;
var r:=0.0;
var d:real;
for var i:=0 to n-1 do begin
d:=Dist2(a[i],a[i+1]);
if d>r then r:=d
end;
Writeln('Минимальный радиус равен ',Sqrt(r):0:3)
end.
Пример
n= 15
41.4 57.5 -70.6 98.5 31 76 4.7 98.3 74 -8.1 -85.2 -73.3 39.1 -27.2 41.3 -91.8 -20.5 60.9 38.4 -89.2 77.5 -62 68.8 -6.4 85.4 96.9 49.2 -64 65.6 99.5
Минимальный радиус равен 123.040
// Внимание! Если программа не работает, обновите версию!
function Dist2(a,b:real):=a*a+b*b; // квадрат расстояния до точки
begin
var n:=ReadInteger('n=');
var a:=SeqRandom(2*n,-999,999).Select(t->t/10).ToArray;
a.Println;
var r:=0.0;
var d:real;
for var i:=0 to n-1 do begin
d:=Dist2(a[i],a[i+1]);
if d>r then r:=d
end;
Writeln('Минимальный радиус равен ',Sqrt(r):0:3)
end.
Пример
n= 15
41.4 57.5 -70.6 98.5 31 76 4.7 98.3 74 -8.1 -85.2 -73.3 39.1 -27.2 41.3 -91.8 -20.5 60.9 38.4 -89.2 77.5 -62 68.8 -6.4 85.4 96.9 49.2 -64 65.6 99.5
Минимальный радиус равен 123.040
Похожие вопросы
Предмет: Химия,
автор: msokolovska1982
Предмет: Українська мова,
автор: druzinskasofia
Предмет: Українська література,
автор: nastabozenko42
Предмет: Биология,
автор: Lisichka02
Предмет: Алгебра,
автор: shkolnik220699