(Дан одномерный массив размером М. Подсчитать сумму положительных и среднее арифметическое отрицательных элементов. Ввод данных осуществлять с клавиатуры, вывод исходного массива и результатов – на экран)
Код Pascal
program Project1;
uses
Crt;
type
mass = array of Integer;
var
vector : mass;
procedure Input_mass(var vector : mass);
var
i, m : Byte;
begin
Write('Input M: '); Readln(m);
SetLength(vector, m);
for i := 0 to m-1 do
begin
Write('Input mass[', i+1, ']= '); Readln(vector[i]);
end;
end;
procedure Output_mass(vector : mass);
var
i : Byte;
begin
for i := 0 to Length(vector)-1 do
Writeln('mass[', i+1, ']= ', vector[i]);
end;
function Summ(vector : mass): Word;
var
i : Byte;
sum : Word;
begin
sum := 0;
for i := 0 to Length(vector)-1 do
if (vector[i] > 0) then
sum := sum + vector[i];
Summ := sum;
end;
function Average(vector : mass): Single;
var
count, i : Byte;
aver : Integer;
begin
count := 0; aver := 0;
for i := 0 to Length(vector)-1 do
if (vector[i] < 0) then
begin
Inc(count); aver := aver + vector[i];
end;
Average := aver / count;
end;
begin
ClrScr;
Input_mass(vector);
ClrScr;
Writeln('Sum of positive: ', Summ(vector));
Output_mass(vector);
Writeln('Average of negative: ', Average(vector):7:3);
readln;
end.