Разобраться с кодом не смог
, может потому, что писала блондинка ))), поэтому написал свое решение
Код:
program OSZone;
{This program created by e-Hector}
uses crt;
type
mt=array[1..10,1..10] of integer;
ms=array[1..10] of integer;
var
A, B:mt;
A1, B1, A2, B2:ms;
i, j:integer;
const
h=4;
procedure gl_diag (var m:mt; var r:ms); {Выделение главной диагонали в массив}
var
k:integer;
begin
k:=1;
for i:=1 to h do
for j:=1 to h do
if i=j then
begin
r[k]:=m[i,j];
k:=k+1;
end;
end;
procedure sort(var r, g:ms); {Создание сортированного массива}
var
buf:integer;
begin
for i:=1 to h do
g[i]:=r[i];
for i:=1 to h-1 do
for j:=i to h do
if g[i]<g[j] then
begin
buf:=g[i];
g[i]:=g[j];
g[j]:=buf;
end;
end;
function srz(g:ms):real; {Вычисление средне арифметического}
var
s:integer;
begin
s:=0;
for i:=1 to h do
s:=s+g[i];
srz:=s/h;
end;
procedure out_mass (g:ms); {Вывод массива}
begin
write('[ ');
for i:=1 to h do
write(g[i],' ');
writeln(']');
end;
begin {Основная программа}
clrscr;
randomize;
for i:=1 to h do {Заполнение матрицы А}
for j:=1 to h do
A[i,j]:=random(10);
for i:=1 to h do {Формирование матрицы В}
for j:=1 to h do
if i>j then B[i,j]:=2*i+j
else B[i,j]:=i+2*j;
gl_diag(A,A1);
gl_diag(B,B1);
sort(A1,A2);
sort(B1,B2);
writeln('Matrica B');
for i:=1 to h do
begin
for j:=1 to h do
write(B[i,j],' ');
writeln;
end;
write('Massiv A1 ');
out_mass(A1);
write('Massiv B1 ');
out_mass(B1);
write('Massiv A2 ');
out_mass(A2);
write('Massiv B2 ');
out_mass(B2);
writeln('Srednee A2: ',srz(A2):2:2);
writeln('Srednee B2: ',srz(B2):2:2);
readln;
end.