const
nmax = 101;
var
a: array[1..nmax, 1..nmax] of longint;
n, i, j, maxi, maxj, v : longint;
begin
repeat
write('Введите нечётное n < ', nmax, ': ');
readln(n);
if not odd(n) then
writeln('n должно быть нечётно');
if n > nmax then
writeln('n должно быть меньше ', nmax);
until (odd(n) and (n < nmax));
writeln('Ввод матрици');
for i:=1 to n do
for j:=1 to n do begin
write('a[', i, ',', j, '] = ');
readln(a[i, j]);
end;
maxi := 1;
maxj := 1;
for i:=1 to n do
begin
if a[i,i]>a[maxi,maxj] then
begin maxi:=i;
maxj:=i;
end;
if a[i,n-i+1]>a[maxi,maxj] then
begin maxi:=i;
maxj:=n-i+1;
end;
end;
v := a[maxi, maxj];
a[maxi, maxj] := a[(n + 1) div 2, (n + 1) div 2];
a[(n + 1) div 2, (n + 1) div 2] := v;
writeln('После обработки матрица принела следующий вид:');
for i:=1 to n do begin
for j:=1 to n do
write(a[i, j], ' ');
writeln;
end;
end.