bài 2 :
program dt;
uses crt;
const inp='inp.txt'; out='out.txt';
var a: array [1..100,1..100] of byte;
i,j, maxxx :byte; n:integer;
fi,fo:text;
{===================================}
procedure demngang(x,y:byte; var d:byte);
begin
d:=0;
while a[x,y] = 1 do
begin
d:=d+1;
y:=y+1;
end;
end;
{+_+_____________________+}
procedure demdoc(x,y:byte; var d:byte);
begin
d:=0;
while a[x,y] = 1 do
begin
d:=d+1;
x:=x+1;
end;
end;
{+++++++++++++++++++++++++++++++++++++}
procedure demcheochinh(x,y:byte; var d:byte);
begin
d:=0;
while a[x,y] = 1 do
begin
d:=d+1;
x:=x+1;
y:=y+1;
end;
end;
{++++++++++++++++++++++++++++++++++++++++++++++}
function max(a,b:byte):byte;
begin
if a<b then max:=b else max:=a;
end;
{+++++++++++++++++++++++++++++++++++++++++++++++++ ++}
procedure demcheophu(x,y:byte; var d:byte);
begin
d:=0;
if a[x,y] = 1 then
while (a[x,y] = 1) and (x<>0) do
begin
d:=d+1;
x:=x-1;
y:=y+1;
end;
end;
procedure xuli;
var dcc,dcp,dn,dd: array [1..250] of byte;
ddm,dnm,dcpm, dccm, k:byte;
begin
k:=1;
for i:= 1 to n do
begin
for j:= 1 to n do
begin
demngang(i,j,dn[k]);
{ write(dn[k]); }
k:=k+1;
end;
writeln;
end;
k:=1;
for i:= 1 to n do
begin
for j:= 1 to n do
begin
demdoc(i,j,dd[k]);
{ write(dd[k]); }
k:=k+1;
end;
writeln;
end;
k:=1;
for i:= 1 to n do
begin
for j:= 1 to n do
begin
demcheochinh(i,j,dcc[k]);
{ write(dcc[k]);{P{}
k:=k+1;
end;
writeln;
end;
k:=1;
for i:= 1 to n do
begin
for j:= 1 to n do
begin
demcheophu(i,j,dcp[k]);
{ write(dcp[k]); {}
k:=k+1;
end;
writeln;
end;
ddm:=0;
dccm:=0;
dnm:=0;
dcpm:=0;
for i:=1 to n*n do
begin
if ddm<dd[i] then ddm:=dd[i];
if dccm<dcc[i] then dccm:=dcc[i];
if dcpm<dcp[i] then dcpm:=dcp[i];
if dnm<dn[i] then dnm:=dn[i];
end;
maxxx:=max(max(max (ddm,dnm),dccm),dcpm);
writeln;
{write(maxxx:2,ddm:2,dccm:2,dcpm:2,dnm:2); }
readln;
end;
{______________________+++++++}
procedure nhap;
begin
assign(fi,inp);
reset(fi);
read(fi,n);
for i:=1 to n do
for j:=1 to n do
read(fi,a[i,j]) ;
close(fi);
{ clrscr;
write(' nhap n ') ;
readln(n);
write ('nhep ma tran');
for i:=1 to n do
for j:=1 to n do
begin
Write('nhap a[',i,',',j,']=');
readln(a[i,j]) ;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
write(a[i,j]);
end;
writeln;
end;
readln; }
end;
{++++++++++++++++++++++++++++++++++++++++++_}
procedure xuat;
begin
assign (fo,out);
rewrite(fo);
write(fo, maxxx);
close(fo);
end;
begin
nhap;
xuli;
xuat;
end.
mọi nguơif xem hộ xem saio o đâu không né




Trả lời kèm Trích dẫn
Đánh dấu