program Jlab7_7;
uses crt;
const n=2;m=6;
type mz=array[1..n,1..m] of integer;
var c:mz;
t,mn,mx,imn,jmn,imx,jmx:integer;
procedure Npt(var c:mz;f,g:integer); //Ввод данных
var i,j:integer;
begin
randomize;
for i:=1 to f do
for j:=1 to g do
c[i,j]:=random(70)-34;
end;
procedure Tpt(var c:mz;f,g:integer); //Вывод даннх
var i,j:integer;
begin
for i:=1 to f do
begin
for j:=1 to g do write(c[i,j]:4,' ');writeln;
end;
end;
function FndMnNxt(var c:mz;f,g:integer;min,imin,jmin,temp:integer):integer; //нахождени эл-та, стоящего помле мин-го
var i,j:integer;
begin
min:=c[1,1];
imin:=1;jmin:=1;
for i:=1 to f do
for j:=1 to g do
if c[i,j]<min then
begin
min:=c[i,j];
imin:=i;
jmin:=j;
temp:=c[imin+1,jmin];
end;
writeln(temp,' (¬Ё*. н«-в : ',min,' (',imin,',',jmin,'))');
end;
function FndMxNgtv(var c:mz;f,g:integer;max:integer):integer;//поиск макс. отриц. эл-та
var i,j:integer;
begin
max:=c[1,1];
for i:=1 to f do
for j:=1 to g do
begin
if c[i,j]<0 then
if c[i,j]>max then
max:=c[i,j];
end;
writeln(max);
end;
procedure Dlt(var c:mz; f,g:integer;min,temp:integer);//удаление эл-та, стоящего после мин-го
var i,j:integer;
begin
for i:=1 to f-1 do
for j:=1 to g-1 do
c[i,j]:=c[i+1,j];
dec(temp);
end;
procedure Pst(var c:mz;f,g:integer;max:integer);//вставка этого эл-та до и после макс. отриц-го
var i,j:integer;
begin
for i:=f downto max+1 do
for j:=g downto max+1 do
c[i+1,j]:=c[i,j];
end;
begin
clrscr;
Npt(c,n,m);
writeln('- :');
writeln;
Tpt(c,n,m);
writeln;
write('- : ');
FndMnNxt(c,n,m,t,mn,imn,jmn);
Dlt(c,n,m,mn,t);
writeln;
writeln('- :');
writeln;
Tpt(c,n,m);
writeln;
write('- : ');
FndMxNgtv(c,n,m,mx);
Pst(c,n,m,mx);
writeln;
writeln('- :');
writeln;
Tpt(c,n,m);
readln;
end.