разработка в среде turbo pascal программы сортировки элементов побочной диагонали матрицы А по убыванию абсолютных значений.
1) расчет элементов квадратной матрицы А (n,n):
a(i,j)=(j^(1/i))+(i^(1/j))/((i*j)^(1/2));
2)вычисление элементов вектора Х (n):
х (i) - среднее арифметическое значение положительных элементов i-ой строки;
3)упорядочить элементы побочной диагонали матрицы А по убыванию абсолютных значений;
4)вычисление значения Y по заданной формуле:
у = max (x(i)/a(ii))
i=1,n
помогите пожалуйста)))

Вот ваша программа. Только в условии есть одна некорректная вещь: в этой матрице все элементы получаются положительные по условию. И задание 2 должно быть записано как просто среднее арифметическое элементов (а не среднее арифметическое положительных элементов) .
И соответственно такая же некорректность в задании 3 - по убыванию абсолютных значений. Для положительных чисел их значение и так является их абсолютным значением (т. е. модулем) .
program aaa;
Var a:array[1..30, 1..30] of real; {исходный массив}
x,z:array[1..30] of real;
n, i, j:integer;
y, tmp:real;
begin
writeln('Введите размерность массива n ');
readln(n);
{задание 1 - расчет элементов квадратной матрицы }
writeln('Исходный массив ');
for i := 1 to n do
begin
for j := 1 to n do
begin
a [ i, j ]:= (exp(1/i*ln(j))+ exp(1/j*ln(i)))/sqrt(i*j);
write( a [ i, j ] :5:2,' ');
end;
writeln;
end;
{задание 2 - вычисление элементов вектора Х (n)}
writeln('Вектор X: ');
for i := 1 to n do
begin
for j := 1 to n do
begin
if a [ i, j ]>0 then x [ i ]:=x [ i ] + a [ i, j ];
end;
x [ i ]:=x [ i ]/n;
write( x [ i ] :5:2,' ');
end;
writeln;
{задание 3 - упорядочение элементов побочной диагонали}
for i:=1 to n do
z [ i ] :=a [ i, n-i+1 ];
for i:=1 to n-1 do
begin
for j:=i+1 to n do
if z [ j ] > z [ i ] then
begin
tmp := z [ i ];
z[ i ] :=z [ j ];
z[ j ] := tmp
end;
end;
writeln('Упорядоченные по убыванию элементы побочной диагонали ');
for i:=1 to n do
begin
write( z [ i ]:5:2,' ');
end;
writeln;
{задание 4 - вычисление y}
y:=x[1]/a[1,1];
for i := 2 to n do
if x [ i ] / a [ i, i ] > y then y := x [ i ] / a [ i, i ];
writeln( 'y = ',y:5:2);
end.