Написать программу на pascal abc.дан целочисленный массив размера n. вычислить сумму и количество положительных элементов, произведение и количество отрицательных элементов, произведение элементов до первого отрицательного. отсортировать массив по возрастанию.

sagunush13 sagunush13    3   06.06.2019 21:00    4

Ответы
ffff40 ffff40  06.07.2020 21:16
Var
  i, j, n, kolPol, kolOtr, sum, p, ch, k :integer;
  a :array of integer;

begin

  readln(n);
  SetLength(a,n+1);
  randomize;
  for i:= 1 to n do
    a[i]:= random(100)-50;
 
  sum:= 0; p:= 1;
  for i:= 1 to n do
  begin
    if a[i] > 0 then
    begin
      inc(kolPol);
      sum:= sum + a[i];
    end;
    if a[i] > 0 then
    begin
      inc(kolOtr);
      p:= p * a[i];
    end;
  end;
 
  writeln('Количество положительных элементов: ',kolPol);
  writeln('Сумма положительных элементов: ',sum);
  writeln('Количество отрицательных элементов: ',kolOtr);
  writeln('Произведение отрицательных элементов: ',p);
 
  i:= 1; p:= 1; ch:= 0;
  while (a[i] >= 0) and (i <> n+1) do
  begin
    p:= p * a[i];
    inc(ch);
    inc(i);
  end;
 
  if ch <> 0 then 
    writeln('Произведение до первого отрицательного элемента: ',p)
  else
    writeln('Первый элемент массива отрицательный!');
   
  for i:= 1 to n-1 do
    for j:= 1 to n-i do
      if a[j] > a[j+1] then
      begin
        k:= a[j];
        a[j]:= a[j+1];
        a[j+1]:= k;
      end;
  writeln('Массив отсортирован по возрастанию:');
  for i:= 1 to n do
    write(a[i],'  ');

end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика