Все действительно правильно, но вычисление min и max я бы выделил в отдельную процедуру:
Код:
function FindMin(Arr : array of integer) : integer; //возвращает само значение, но не индекс
var i : integer;
begin
Result := Arr[0];
for i := 1 to Length(Arr)-1 do
if ( Arr[i] < Result ) then
Result := Arr[i];
end;
function FindMax(Arr : array of integer) : integer;
var i : integer;
begin
Result := Arr[0];
for i := 1 to Length(Arr)-1 do
if ( Arr[i] > Result ) then
Result := Arr[i];
end;
mmOutput.Lines.Add('Минимальное значение данного массива равно '+inttostr(FindMin(m)));
mmOutput.Lines.Add('Максимальное значение данного массива равно '+inttostr(FindMax(m)));
Это не обязательно..просто пригодится может где-нибуть еще.
Дело в том, что при N=1000 шанс, что в массиве будет 0 и 100 равен 1. Уменьши N до..скажем..10 или MAX_VALUE до..5001 и результаты тебя порадуют
