деталька
1) если по краям детали нули - это не отверстия.
2) если несколько отверстий подряд идут - то это одно отверстие
3) если отверстия касаются друг друга углами - это не отверстие.
program task21;
uses crt;
var a:array [1..10,1..10] of integer;
i,j,n,m:byte;
count:integer;
procedure FillArray;
begin
writeln('Vvedite dannue detali:');
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);
end;
procedure print;
begin
clrscr;
writeln('Vasha detal vuglyadit tak:');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]);
writeln;
end;
end;
begin
clrscr;
writeln('Vvedite razmer detali cherez probel:');
readln(n,m);
FillArray;
print;
for i:=1 to n do
for j:=1 to m do
if (a[i,j] = 0) then count:=count+1;
if (a[1,1]=0) then count:=count-1;
if (a[n,1]=0) then count:=count-1;
if (a[1,m]=0) then count:=count-1;
if (a[n,m]=0) then count:=count-1;
writeln('Kol-vo otverstii y detali = ',count);
readln;
end.