Код (Text): program Project2; {$APPTYPE CONSOLE} uses SysUtils; type POINT2D = record x : integer; y : integer; end; var points : array[1..5] of POINT2D; za : array[1..5] of double; minnum: integer; procedure PrintResult (pt : array of POINT2D;z : array of double; min:integer;size:integer); var iter : integer; txt : string; begin writeln('Initial Data:'); for iter:=1 to size do begin writeln(inttostr(pt[iter].x)+';'+inttostr(pt[iter].y)); end; writeln('Result Data:'); for iter:=1 to size do begin Str(z[iter],txt); writeln('Z['+inttostr(iter)+']='+txt); end; writeln('Number='+inttostr(min)); end; function GetMin(m : array of double; size : integer) : integer; var cur : integer; iter : integer; min : double; begin min:=m[1]; cur:=1; for iter:=1 to size do begin if (m[iter]<min) then begin min:=m[iter]; cur:=iter; end; end; Result:= cur; end; function GetLength(pt1 : POINT2D; pt2 : POINT2D) : double; begin Result:=sqrt(sqr(pt2.x-pt1.x)+sqr(pt2.y-pt1.y)) end; procedure InitZArray (m : array of POINT2D; out zarray : array of double; size : integer); var iter : integer; iter2 : integer; t : double; begin for iter:=1 to size do begin for iter2:=1 to size do begin if (iter <> iter2) then begin t:= GetLength(m[iter],m[iter2]); zarray[iter]:=zarray[iter]+t; end; end; end; end; procedure InitPoints (out m: array of POINT2D;size : integer); var iter : integer; t : integer; begin for iter:=1 to size do begin writeln('X='); readln(t); m[iter].x:=t; writeln('Y='); readln(t); m[iter].y:=t; end; end; begin InitPoints( points ,5); InitZArray(points,za,5); minnum:=GetMin( za,5); PrintResult(points,za,minnum,5);; readln; end. Получается полная чушь. например при вводе 1 2 1 2 1 2 ... Ткните где накосячил плиз
punxer Это что за Паскаль такой албанский? Во-первых, не "out", а "var", во-вторых, чтобы массивы нормально передавались в функции по значению, нужно предварительно определить тип, а в-третьих, "array of ..." стандартом вообще не предусмотрен, а в Delphi такие массивы - динамические, и им перед использованием нужно делать SetLength(нужный_размер). Если речь строго о 5 точках - определяй тип Код (Text): T5Points=array[1..5] of TPoint; и его дальше и используй.
Володя бы вас расстрелял - на форуме по низкоуровневому программированию спрашивать как на форме расположить точки, кнопки и прочую хрень