Мальчик очень любит морской бой. Он выставляет корабли ** игровом поле так, чтобы они не...

0 голосов
39 просмотров

Мальчик очень любит морской бой. Он выставляет корабли на игровом поле так, чтобы они не соприкасались, поле имеет размеры 5×5 , клетка занятая кораблем обозначается 1 , а свободная -0, после ввода данных по всем клетках игрового поля определить, сколько на нем кораблей. Помогите пожалуйста!!!


Информатика (31 баллов) | 39 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Правильность расстановки кораблей не проверяется!
В программе сразу дан пример!
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

(194k баллов)