Var mas: array [1..20] of integer;
function summ(var m: array of integer; length: integer): integer;
var k: integer;
begin
randomize;
//заполнение массива
for k:=1 to length do
m[k]:=random(5000)-2500;
Result:=0;
//подсчёт суммы положительных элементов массива
for k:=1 to length do
if m[k]>0 then
Result:=Result+m[k];
end;
procedure TForm1.Button1Click(Sender: TObject);
var k, sum: integer;
begin
sum:=summ(mas, 20);
Memo1.Text:='Массив чисел ';
for k:=1 to 20 do
Memo1.Lines.Add(IntToStr(mas[k])+',');
Memo1.Lines.Add('Сумма положительных чисел '+IntToStr(sum));
end;