Из операторов составьте программу, которая за один проход по массиву находит три его элемента, которые больше всех остальных ("Три максимума") const N = 15; var A: array[1..N] of integer; i, m1, m2, m3: integer; begin Randomize; m1 := 0; m2 := 0; m3 := 0; for i := 1 to N do begin A[i] := random(150); Write(A[i], ' '); if A[i] > m1 then begin m3 := m2; m2 := m1; m1 := A[i] end; if (A[i] > m2) and (A[i] < m1) then begin m3 := m2; m2 := A[i] end; if (A[i] > m3) and (A[i] < m2) then begin m3 := A[i] end; end; writeln; write(m1, ' ', m2, ' ', m3); end.
Задание

Из операторов составьте программу, которая за один проход по массиву находит три его элемента, которые больше всех остальных \("Три максимума"\)

  • const
    N = 15;
  • var
    A: array
    \[1\.\.N\]
    of integer;
    i, m1, m2, m3: integer;
  • begin
    Randomize;
    m1 := 0;
    m2 := 0;
    m3 := 0;
  • for i := 1 to N do
    begin
  • A
    \[i\]
    := random\(150\);
    Write\(A⟨1⟩, ' '\);
  • if A
    \[i\]
    > m1 then
    begin
    m3 := m2;
    m2 := m1;
    m1 := A
    \[i\]

    end;
  • if \(A⟨1⟩ \\gt m2\) and \(A⟨1⟩ \\lt m1\) then
    begin
    m3 := m2;
    m2 := A
    \[i\]

    end;
  • if \(A⟨1⟩ \\gt m3\) and \(A⟨1⟩ \\lt m2\) then
    begin
    m3 := A
    \[i\]

    end;
  • end;
    writeln;
    write\(m1, ' ', m2, ' ', m3\);
  • end.