Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- TZaznam = class(TObject) //trida TZaznam
- bod1_index: Integer;
- bod2_index: Integer;
- vzdalenost: Double;
- end;
- procedure blablabla();
- var
- input: array of TPoint;
- I,J : Integer;
- bod1, bod2: TPoint;
- temp_vzdalenost: Double;
- temp_zaznam: TZaznam;
- zaznamy: array of TZaznam;
- zaznamIndex: Integer;
- minimum: Double;
- minimumIndex: Integer;
- begin
- SetLength(input, 4);
- input[0] := Point(1, 1);
- input[1] := Point(1, 6);
- input[2] := Point(2, 3);
- input[3] := Point(5, 1);
- zaznamIndex := 0;
- SetLength(zaznamy, (Length(input)*Length(input)));
- for I := 0 to Length(input) do begin
- for J := I to Length(input) do begin
- if(I<>J)then begin
- bod1 := input[I];
- bod2 := input[J];
- temp_vzdalenost := Sqrt(Sqr(bod1.X-bod2.X)+Sqr(bod1.Y-bod2.Y));
- temp_zaznam := TZaznam.Create;
- temp_zaznam.bod1_index := I;
- temp_zaznam.bod2_index := J;
- temp_zaznam.vzdalenost := temp_vzdalenost;
- zaznamy[zaznamIndex] := temp_zaznam;
- Inc(zaznamIndex);
- end;
- end;
- end;
- minimum := 0;
- minimumIndex := -1;
- for I := 0 to Length(zaznamy) do begin
- temp_zaznam := zaznamy[I];
- if(temp_zaznam<>nil)then begin
- if(temp_zaznam.vzdalenost>minimum)then begin
- minimum := temp_zaznam.vzdalenost;
- minimumIndex := I;
- end;
- end;
- end;
- if(minimumIndex>-1)then begin
- temp_zaznam := zaznamy[minimumIndex];
- ShowMessage(IntToStr(temp_zaznam.bod1_index)+', '+IntToStr(temp_zaznam.bod2_index)+' - '+FloatToStr(temp_zaznam.vzdalenost));
- end;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement