Pascal 1. найти среднее арифметическое положительных элементов одномерного массива. 2. найти минимальный элемент одномерного массива.

МориартиvsШерлок МориартиvsШерлок    3   15.08.2019 09:50    0

Ответы
cefevupi cefevupi  04.10.2020 20:49
1. Современное решение

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  Writeln('Среднее положительных ',a.Where(x->x>0).Average);
  Writeln('Минимум ',a.Min)
end.

Пример
n= 15
35 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14
Среднее положительных 26.4545454545455
Минимум -38

2. Школьный вариант на древних версиях

program Ex1;
const
  nn=100; { ограничение на длину массива }
var
  i,n,s,k:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  k:=0;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]>0 then begin
      k:=k+1; s:=s+a[i]
      end
    end;
  Writeln;
  Writeln('Среднее положительных ',s/k) 
end.

program Ex2;
const
  nn=100; { ограничение на длину массива }
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  min:=100; { больше максимально возможного }
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  Writeln('Минимум ',min)
end.

Выводы о том, чему и как учат в школе, делайте самостоятельно...
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика