
Вопрос задан 16.06.2019 в 12:23.
Предмет Информатика.
Спрашивает Лєщук Вікторія.
Илья очень любит морской бой и играет в него всё свободное время, он располагает корабли на игровом
поле, так, чтобы они не соприкасались. Поле имеет размеры 5X5, клетка занятая кораблём обозначается 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
В программе сразу дан пример!
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


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili