Дана матрица В(6х6). Найти среднее арифметическое элементов, лежащих выше главной диагонали. Если это четное число - отсортировать строки, иначе - столбцы.
 program zzz;
uses crt;
const n=6; m=6;
var b:array[1..n,1..m] of integer;
i,j,c,sum,kol:integer;
sr:integer;
BEGIN clrscr; randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin
b[i,j]:=random(100)-50;
write(b[i,j]:3,' ');
if i<j then
begin
sum:=sum+b[i,j];
kol:=kol+1;
end;
end;
writeln;
end;
sr:=round(sum/kol);
writeln('srednee arifmeticheskoe = ',sr);
writeln;
if sr mod 2 = 0 then
begin
writeln('sortirovka po strokam');
writeln;
for i:=1 to n do
begin
j:=1;
repeat
if b[i,j]>b[i,j+1] then
begin
c:=b[i,j];
b[i,j]:=b[i,j+1];
b[i,j+1]:=c;
if j>1 then j:=j-1;
end
else j:=j+1;
until j>=m;
end;
end
else
begin
writeln('sortirovka po stolbikam');
writeln;
for j:=1 to m do
begin
i:=1;
repeat
if b[i,j]>b[i+1,j] then
begin
c:=b[i,j];
b[i,j]:=b[i+1,j];
b[i+1,j]:=c;
if i>1 then i:=i-1;
end
else i:=i+1;
until i>=n;
end;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(b[i,j]:3,' ');
writeln;
writeln;
end;
readkey;
END.


нужно переделать через процедуры и ф-ии:
Функция определяющая среднее арифметическое;
Процедуры:
1)инициализации(ввода);
2)вывода;
3)сортировки строк;
4)сортировки столбцов.