Правильность расстановки кораблей не проверяется!
В программе сразу дан пример!
const n=5;
var a:array[1..n,1..n] of byte=
((1,0,1,0,1),
(1,0,0,0,1),
(0,0,1,0,1),
(1,0,0,0,0),
(0,0,1,1,0));
k, i, j: integer;
begin
if a[1,1]=1 then k:=1 else k:=0;
for j:=2 to n do
if (a[1,j-1]=0)and(a[1,j]=1) then k:=k+1;
for i:=2 to n do
begin
if (a[i-1,1]=0)and(a[i,1]=1) then k:=k+1;
for j:=2 to n do
if (a[i-1,j]=0)and(a[i,j-1]=0)and(a[i,j]=1) then k:=k+1;
end;
writeln('k = ',k);
end.
Результат:
k = 6