uses crt;
Type
T=array [1..12] of integer;
var
Z:T;
procedure losuj ( var tab:T );
var
i:integer;
begin
for i:=1 to 12 do
tab[i]:= random (80)+10;
end;
procedure wyswietl (var tab:T );
var
i:integer;
begin
for i:=1 to 12 do
write(tab[i]);
end;
function oblicz (var tab:T; var podzielne:integer):integer;
var
i:integer;
parz:integer;
begin
podzielne :=0;
parz:=0;
for i:=0 to 12 do
begin
if (tab[i] mod 4 = 0) then podzielne := podzielne + tab[i];
if (tab[i] > 10) and (tab[i] mod 2 = 0) then parz := parz + tab[i];
end;
oblicz:=parz;
end;
procedure zamiana (var tab:T);
var
i:integer;
begin
for i:=1 to 12 do
begin
if (tab[i] < 20) then tab[i]:=tab[i] * (-1);
end;
end;
var
podzielne,parzyste:integer;
begin
clrscr;
randomize;
losuj(Z);
wyswietl(Z);
parzyste:=oblicz(Z,podzielne);
writeln('Suma parzystych :',parzyste);
writeln('Suma podzielnych przez 4 :',podzielne);
zamiana(Z);
wyswietl(Z);
readln;
end.