Дана действительная квадратная матрица порядка n (n не менее 5), все элементы которой различны. Найти наименьший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
program p_1;
const n=5;
var
a: array[1..n,1..n] of integer;
i, j, min, imin, jmin, buf :integer;
begin
writeln('Enter array');
for i:=1 to n do
begin
for j:=1 to n do
begin
read(a[i,j]);
readln;
end;
end;
min:=a[1,1]; imin:=1; jmin:=n;
for i:=1 to n do
begin
for j:=1 to n do
begin
if i=j then
begin
if min>a[i,j] then
min:=a[i,j]; imin:=i; jmin:=j;
end
else if j=n-i+1 then
begin
if min>a[i,j] then
min:=a[i,j]; imin:=i; jmin:=j;
end;
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
if(i=j) and (j=n-i+1) then
begin
buf:=a[i,j];
a[i,j]:=a[imin,jmin];
a[imin,jmin]:=buf;
end;
write(a[i,j]:6);
writeln;
end;
end;
writeln('min=',min:3);
writeln('imin=',imin:2,' jmin=',jmin:2);
writeln('buf=',buf:2);
readln
end.
У меня не получается поймать индексы минимального элемента и поменять его местами с центральным элементом. Пожалуйста подскажите, что делать.