k:=0;
for j:=1 to n do
begin
d:=0;
f:=false;
i:=1;
while (i<=n) and not f do
if a[i,j]=2 then f:=true
else i:=i+1;
if f then k:=k+1;
end;
writeln('Столбцов=',k);
Следующий вариант
var a:array[1..5,1..5]of integer;
i,j,k,m:integer;
begin
randomize;
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
a[i,j]:=random(10)-5;
write(a[i,j]:3);
end;
writeln;
end;
m:=0;
for j:=1 to 5 do
begin
k:=0;
for i:=1 to 5 do
if a[i,j]=2 then
begin
inc(k);
break;
end;
if k=0 then inc(m);
end;
writeln('Результат: ',m);
end.