Показать сообщение отдельно
  #3  
Старый 04.12.2011, 20:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,107
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Как-то так:
Код:
uses
  Math;

procedure TForm1.Button1Click(Sender: TObject);
var
  N : Integer;
  I : Integer;
  Imin, Imax : Integer;
  Vmin, Vmax : Integer;
  A : Array Of Integer;
  Mul : Integer;
begin
  Randomize;

  // Build the array
  N := StrToInt(Edit1.Text);
  SetLength(A, N);
  For I := Low(A) To High(A) Do
    A[i] := Random(101) - 50; // Value -50..50

  // Find Idx of min and max
  Imin := Low(A);
  Imax := Low(A);
  Vmin := A[Low(A)];
  Vmax := A[Low(A)];
  For I := Low(A)+1 To High(A) Do
    Begin
      If Vmin > A[i] Then
        Begin
          Imin := I;
          Vmin := A[i];
        End;
      If Vmax < A[i] Then
        Begin
          Imax := I;
          Vmax := A[i];
        End;
    End;

  // Find multiplication
  Mul := 1;
  For I := Min(Imin,Imax) To Max(Imin,Imax) Do
    Mul := Mul * A[i];

  // Show result
  ShowMessage('Mul is ' + IntToStr(Mul));
end;
Ответить с цитированием