как то так. давно было =)
логично, что не все случаи будут работать. в частности если максимум в первом столбике.
var
mas: array [0..9, 0..9] of integer;
i, j: integer;
min, max, pos_i, pos_j: integer;
begin
// формируем массив
randomize;
for i:= 0 to 9 do
for j:= 0 to 9 do mas[i, j]:= random(1000);
// ищем минимальное и максимальное значения, попутно выводя массив на экран
min:= mas[0, 0];
max:= mas[0, 0];
writeln('Vhodnoi massiv:');
for i:= 0 to 9 do
begin
for j:= 0 to 9 do
begin
if mas[i, j] < min then min:= mas[i, j];
if mas[i, j] > max then
begin
max:= mas[i, j];
pos_i:= i;
pos_j:= j;
end;
Write(mas[i, j]:4);
end;
writeln;
end;
// делаем замену на минимальное значение слева и снизу от максимума
for i:= pos_i+1 to 9 do
for j:= 0 to pos_j-1 do mas[i, j]:= min;
// выводим на экран значение минимума, максимума и позицию максимума
writeln('min= ', min);
writeln('pos_i= ', pos_i);
writeln('pos_j= ', pos_j);
writeln('max= ', max);
// выводим массив после замены на минимум
writeln('Vihodnoi massiv:');
for i:= 0 to 9 do
begin
for j:= 0 to 9 do Write(mas[i, j]:4);
writeln;
end;
readln;
end.