Написать программу ** Pascal ABC.Дан целочисленный массив размера N. Вычислить сумму и...

0 голосов
50 просмотров
Написать программу на Pascal ABC.Дан целочисленный массив размера N. Вычислить сумму и количество положительных элементов,
произведение и количество отрицательных элементов, произведение элементов до
первого отрицательного. Отсортировать массив по возрастанию.









Информатика (51 баллов) | 50 просмотров
0

да что вам всем все на паскале то надо....

Дан 1 ответ
0 голосов

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.

(2.0k баллов)