Определить сумму элементов, лежащих до максимального значения в массиве С[1..N] и среднее арифметическое отрицательных чисел, находящихся после максимального значения. — Pascal(Паскаль)

const
  n = 10;

var
  i, j, max: integer;
  s, s1, s2: LongInt;
  a: array [1 .. n] of integer;
  m: single;

begin
  Randomize;
  for i := 1 to n do
    a[i] := Random(n + 1) - n div 2;
  for i := 1 to n do
    Write(a[i]:3);
  WriteLn;
  max := 1;
  s := a[1];
  s1 := 0;
  s2 := 0;
  j := 0;
  for i := 2 to n do
  begin
    if a[i] < 0 then
    begin
      s2 := s2 + a[i];
      Inc(j)
    end;
    if a[i] > a[max] then
    begin
      max := i;
      s1 := s;
      s2 := 0;
      j := 0;
    end;
    s := s + a[i]
  end;
  WriteLn('Summ before max is: ', s1);
  if j = 0 then
    m := 0
  else
    m := s2 / j;
  Write('Mean of negatives after max is ', m:0:3);
  ReadLn

end.

Leave a Comment

53 − 48 =