| Код | type TArray = array [1..1] of integer; TPointArray = ^TArray;
TFunct = function (a, b: integer): boolean; {------------------------------------------------} procedure Fill(arr: TPointArray; size: word; max: word); var i: word; begin randomize; for i:= 1 to size do arr^[i]:= random(max); end; {------------------------------------------------} procedure Print(arr: TPointArray; size: word); var i: word; begin for i:= 1 to size do write(arr^[i], ' '); writeln; end; {------------------------------------------------} function IsLeft(a, b: integer): boolean; begin IsLeft:= a > b; end; {------------------------------------------------} function IsRight(a, b: integer): boolean; begin IsRight:= a < b; end; {------------------------------------------------} function GetValue(arr: TPointArray; size: word; func: TFunct): integer; var i: word; begin if (size > 0) then begin GetValue:= arr^[1]; for i:= 2 to size do if (func(GetValue, arr^[i])) then GetValue:= arr^[i]; end; end; {------------------------------------------------}
var arr: TPointArray; size: word; min, max: integer; begin write('array size: '); readln(size); GetMem(arr, sizeof(integer) * size); Fill(arr, size, 100); Print(arr, size); min:= GetValue(arr, size, @IsLeft); max:= GetValue(arr, size, @IsRight); writeln(min, '+', max, '=', min+max); FreeMem(arr, sizeof(integer) * size);
readln; end.
|
http://s1.ipicture.ru/ |