uses crt;
const nmax=20;
var ar:array[1..nmax,1..nmax] of integer;
m,n,i,j,k:byte;
a,b,sm:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
ar[i,j]:=random(100)-50;
write(ar[i,j]:5);
end;
writeln;
end;
writeln;
repeat
writeln('Ввыедите диапазон для поиска a<b:');
readln(a,b);
until a<b ;
writeln('Сумма и количество элементов столбцов из интервала [',a,',',b,']');
for j:=1 to m do
begin
k:=0;sm:=0;
for i:=1 to n do
if(ar[i,j]>=a)and(ar[i,j]<=b) then
begin
k:=k+1;
sm:=sm+ar[i,j];
end;
writeln('Столбец ',j:2,' S=',sm:4,' K=',k:2);
end;
readln
end.