Код
uses
crt;
const
m=10;
n=12;
type
ma3x=array[1..m,1..n] of byte;
var
i,j,k,l:byte;
a:ma3x;
function testing(y,x:integer):boolean;
begin
testing:=((y>=1) and (y<=m) and (x>=1) and (x<=n));
end;
procedure zapolnenie(var a:ma3x; var b:boolean; y,x:integer; znach:byte);
begin
if testing(y,x) then begin
a[y,x]:=znach+1;
b:=true;
end;
end;
procedure main(var a:ma3x; k,l,znach:byte);
var
i:integer;
b:boolean;
begin
b:=false;
for i:=l-znach to l+znach do begin
zapolnenie(a,b,k-znach,i,znach);
zapolnenie(a,b,k+znach,i,znach);
end;
for i:=k-znach to k+znach do begin
zapolnenie(a,b,i,l-znach,znach);
zapolnenie(a,b,i,l+znach,znach);
end;
if b then main(a,k,l,znach+1);
end;
begin
clrscr;
repeat
write('Vvedite k,l ');
readln(k,l);
until testing(k,l);
a[k,l]:=1;
main(a,k,l,1);
for i:=1 to m do begin
for j:=1 to n do write(a[i,j]:4);
writeln;
writeln;
end;
readln;
end.
:D Пиво + 53-ий рулят ... сессия здана :p10: