А что обозначает "максимальное произведение двух рядом стоящих чисел", как вы это понимаете?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a :array of integer;
i, n, c :integer;
max :cardinal;
begin
Randomize;
Memo1.Clear;
SetLength(a, StrToInt(Edit1.Text));
for i := Low(a) to High(a) do a[i] := Random(1000);
max := 0;
for i := Low(a) + 1 to High(a) do
begin
Memo1.Lines.Add('Элемент массива - i[' + IntToStr(i) + '] = ' + IntToStr(a[i]));
if a[i-1] * a[i] > max then
begin
c := i-1;
max := a[i-1] * a[i];
end;
end;
Memo1.Lines.Add('');
Memo1.Lines.Add('Максимальное произведение (?) - ' + IntToStr(max));
end;