Versiunea in limba romana Версия на русском языке
...:::   Главная страница · О Паскале · Download · О сайте:::...
 
На сайте:  
Реклама  

 

HotLog online dating service
HotLog
HotLog доставка цветов

 

Oстрова

 

Пусть дана матрица Т[1..5, 1..6], элементы которой могут принимать значения 0 или 1. Определить число островков, образованных единицами используя рекурсивную подпрограмму. Пример 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 Данная таблица содержит 4 островка


var t:array[1..100,1..100]of integer;
i,j,k,n,m:integer;
procedure insula(ip,jp:integer);
begin
if t[ip,jp]=1 then
begin
t[ip,jp]:=2;
if ((ip-1)>=1) then insula(ip-1,jp);
if ((jp-1)>=1) then insula(ip,jp-1);
if ((jp+1)<=n) then insula(ip,jp+1);
if ((ip+1)<=m) then insula(ip+1,jp);
end;
end;
BEGIN
write('N= '); readln(n);
write('M= '); readln(m);
for i:=1 to m do
for j:=1 to n do
readln(t[i,j]);

for i:=1 to m do begin
for j:=1 to n do
write(t[i,j]:3);
writeln;
end;

k:=0;
for i:=1 to m do
for j:=1 to n do
if t[i,j]=1 then begin
k:=k+1;
insula(i,j);
end;
Writeln('K= ',k);
END.

<< Назад

 
Добавленно: 30.08.04    Автор: Аня

Copyright © Rocko, 2004. Last Updated : 1 september 2004

Hosted by uCoz