вот решение похожей задачки... ток здесь не обнуляются строка и столбебец, а убираются.... думаю сам переделать слегка сможешь... Program lab9_1;
Var p,q,i,j,max,max_i,max_j: integer;
a: array[1..4,1..5] of integer;
b: array[1..3,1..4] of integer;
Begin randomize;
max:=a[1,1]; max_i:=1; max_j:=1;
for i:=1 to 4 do
for j:=1 to 5 do
begin
a[i,j]:=random(20);
if a[i,j]>max then
begin
max:=a[i,j];
max_i:=i;
max_j:=j;
end;
end;
writeln('Massiv #1');
for i:=1 to 4 do begin
for j:=1 to 5 do
write(a[i,j]:3);
writeln;
end;
writeln;
writeln('Max, Max_i, Max_j := ', max:3, max_i:3, max_j:3);
for i:=1 to 3 do begin
for j:=1 to 4 do
begin
if (i<=max_i) and (j<=max_j) then b[i,j]:=a[i,j];
if (i<=max_i) and (j>=max_j) then b[i,j]:=a[i,j+1];
if (i>=max_i) and (j<=max_j) then b[i,j]:=a[i+1,j];
if (i>=max_i) and (j>=max_j) then b[i,j]:=a[i+1,j+1];
write(b[i,j]:3);
end;
writeln;
end;
readln;
End.