
Очень простая задача, решена не до конца... Проблема состоит в том, что у меня не получается поменять местами максимальный и минимальный элемент в массиве!!!
Помогите пожалуйста!!!
Вот задание: найти в двумерном массиве максимальный и минимальный элемент и поменять их местами.
Код: Выделить всё
program Ex_3;
uses crt;
const
n=10;
m=10;
var
mas:array[1..n,1..m] of integer;
i,j,maxi,maxj,b,c,d,mini,minj,max,a,min:integer;
p,o:integer;
begin
randomize;
writeln('ЗАДАНИЕ: найти в двумерном массиве максимальный и минимальный элемент и поменять их местами');
writeln;
writeln('Массив заполняется случайными числами!');
writeln;
for i:=1 to n do
for j:=1 to m do
begin
mas[i,j]:=random(50)-20;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(mas[i,j]:4);
writeln;
end;
readln;
max:=mas[1,1];
maxi:=1; mini:=1;
maxj:=1; minj:=1;
min:=mas[1,1];
for i:=1 to n do
for j:=1 to m do
if max<mas[i,j] then begin max:=mas[i,j];
maxi:=i; maxj:=j;
a:=i; b:=j;
end;
for i:=1 to n do
for j:=1 to m do
if min>mas[i,j] then begin min:=mas[i,j];
mini:=i; minj:=j;
c:=i; d:=j;
end;
writeln;
writeln('максимальный: ',max,' индексы: [',maxi,',',maxj,']');
writeln('минимальный: ',min,' индексы: [',mini,',',minj,']');
readln;
mas[mini,minj]:=mas[maxi,maxj]; {Здесь происходит замена элементов max и min}
mas[a,b]:=mas[c,d];
for i:=1 to n do
begin
for j:=1 to m do
write(mas[i,j]:4);
writeln;
end;
readln;
end.