uses crt; const k=-1; {pystaya ya4ejka soderjit zna4enie k} var i,j,a,n,m:integer; mas:array[1..n]of shortint; mas:array[1..m]of shortint; function freemas(i,j: shortint): boolean; begin if (i<1) or (i>n) or (j<1) or (j>m) then freemas:=false else freemas:=(mas[i,j]=k); end; procedure draw; {pe4at' massiva} begin writeln; for i:=1 to n do begin for j:=1 to m do write(mas[i,j]:2,'|'); writeln; end; end; begin write('vvedite visoty n:'); readln(n); write('vvedite wiriny m:'); readln(m); for i:=1 to n do for j:=1 to m do mas[i,j]:=k; {zapolnenie massiva pystimi ya4ejkami} clrscr; i:=1; j:=1; mas[i,j]:=1; for a:=1 to sqr(size)-1 do begin if (freemas(i-1,j)) and (not freemas(i,j-1)) then begin dec(i); mas[i,j]:=a+1; end else if freemas(i,j+1) then begin inc(j); mas[i,j]:=a+1; end else if freemas(i+1,j) then begin inc(i); mas[i,j]:=a+1; end else if freemas(i,j-1) then begin dec(j); mas[i,j]:=a+1; end else continue; end; draw; readkey; end.