В одномерных массивах Х и Y одинакового размера n хранятся координаты n точек плоскости. Определить минимальный радиус круга с центром в начале координат, который содержит все точки — Pascal(Паскаль)

uses crt;

const
  nmax = 19;

function Radius(x, y: integer): real;
begin
  Radius := sqrt(x * x + y * y);
end;

var
  x, y: array [1 .. nmax] of integer;
  n, i, j: byte;
  r: real;

begin
  clrscr;
  randomize;
  repeat
    write('Количество точек, не более ', nmax, ' n=');
    readln(n);
  until n in [1 .. nmax]; { просто подогнал количество под ширину окна }
  writeln('Исходный массив:');
  write('X');
  for i := 1 to n do
  begin
    x[i] := random(10) - 4;
    write(x[i]:4);
  end;
  writeln;
  write('Y');
  for i := 1 to n do
  begin
    y[i] := random(10) - 4;
    write(y[i]:4);
  end;
  writeln;
  r := Radius(x[1], y[1]);
  for i := 1 to n - 1 do
    for j := i + 1 to n do
      if Radius(x[i], y[i]) > r then
        r := Radius(x[i], y[i]);
  writeln('Минимальный радиус, охватывающий все точки=', r:0:2);
  readln

end.

Leave a Comment

77 + = 78