Выяснить, какие 4-х точек, заданых своими координатами, находятся на минимальном расстоянии друг от друга - Pascal ABC

Формулировка задачи:

Буду благодарен, если поможете решить вот эту задачку: Четыре точки заданы своими координатами X(x1,x2,x3), Y(y1,y2,y3), Z(z1,z2,z3), T(t1,t2,t3) . Выяснить, какие из них находятся на минимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры. За ранние - спасибо!

Код к задаче: «Выяснить, какие 4-х точек, заданых своими координатами, находятся на минимальном расстоянии друг от друга - Pascal ABC»

textual
uses
  CRT;
 
type
  TCoord = record 
    X, Y, Z: single;
  end;
 
var
  a: array[1..4] of TCoord;
  i, j: integer;
  min, tmp: single;
 
function Distance(A, B: TCoord): single;
begin
  Distance := Sqrt(Sqr(A.X - B.X) + Sqr(A.Y - B.Y) + Sqr(A.Z - B.Z));
end;
 
begin
  for i := 1 to 4 do
  begin
    write('Input coordinates of ', i, ' point: ');
    readln(a[i].x, a[i].y, a[i].z);
  end;
  min := 100000;
  for i := 1 to 3 do
    for j := i + 1 to 4 do
    begin
      tmp := distance(a[i], a[j]);
      if tmp < min then
        min := tmp; 
    end;
  writeln('Minimum distance (', min:0:3, ') between:');
  for i := 1 to 3 do
    for j := i + 1 to 4 do
    begin
      tmp := distance(a[i], a[j]);
      if tmp = min then
        writeln(i, ' and ', j, ' point');   
    end;
  readln;
end.

8   голосов, оценка 4.375 из 5


СОХРАНИТЬ ССЫЛКУ