Илья очень любит морской бой и играет в него всё свободное время, он располагает корабли...

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

Илья очень любит морской бой и играет в него всё свободное время, он располагает корабли на игровом поле, так, чтобы они не соприкасались. Поле имеет размеры 5X5, клетка занятая кораблём обозначается 1, а свободная 0.После ввода данных обо всех клетках игрового поля определите, сколько на нём кораблей? (Паскаль) можно пожалуйста решение простое, но через матрицу


Информатика (30 баллов) | 28 просмотров
Дан 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 баллов)