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

Вопрос школьника по предмету Информатика

Мальчик очень любит морской бой. Он выставляет корабли на игровом поле так, чтобы они не соприкасались, поле имеет размеры 5×5 , клетка занятая кораблем обозначается 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей