uses math; var i,j,n: integer; matrix: array of array of real; tmp,y,max: real; sorted: boolean = false; function x(i: integer): real; //x(i); var j: integer; c: integer = 0; begin x:=0; for j:=1 to n do if matrix[j,i] > 0 then begin c:=c+1; x:=x+matrix[j,i]; end; x:=x/c; end; begin readln(n); // 1) расчет элементов квадратной матрицы А(n,n): setlength(matrix,n+1,n+1); //Устанавливаем размер матрицы for i:=1 to n do for j:=1 to n do begin matrix[i,j]:=power(j,1/i)+power(i,1/j)/power(i*j,1/2); //Задаём значение ячейки i,j end; // // 3)упорядочить элементы побочной диагонали матрицы А по убыванию абсолютных значений: while sorted = false do //Пока матрица неотсортирована begin sorted:=true; //Будем считать, что матрица отсортирована for i:=n-1 downto 1 do for j:=2 to n do if abs(matrix[i+1,j-1]) < abs(matrix[i,j]) then //Если значения ячеек не соответствуют требуемому порядку, то begin sorted:=false; //... матрица не отсортирована //Обмениваем значения ячеек tmp:=matrix[i,j]; matrix[i,j]:=matrix[i+1,j-1]; matrix[i+1,j-1]:=tmp; // end; end; // // 4)вычисление значения Y: max:=x(1)/matrix[1,1]; for i:=2 to n do begin y:=x(i)/matrix[i,i]; if y>max then max:=y; end; // end.