Прога частично напоминает морской бой. Задается поле, на нем можно расставлять острова (один квадрат –ик один остров). После расставления островов, прога должна сосчитать их кол-во.
Народ, подскажите алгоритм выполнения подсчета островов или блок схему процедуры подсчета островов.
Процедура подсчета островов:
..... Procedure Schet; Var n:integer; begin n:=mx*my; for wy:=1 to my do for wx:=1 to mx do if (Z[wx,wy]=1) and (Z[wx,wy+1]<>1) and (Z[wx+1,wy]<>1) and (Z[wx,wy-1]<>1) and (Z[wx-1,wy]<>1) then begin Inc(n); Z[wx,wy]:=n; end; for wy:=1 to my do for wx:=1 to mx do if (Z[wx,wy]=1) and (Z[wx,wy+1]<mx*my) and (Z[wx+1,wy]<mx*my) and (Z[wx,wy-1]<mx*my) and (Z[wx-1,wy]<mx*my) then begin Inc(n); Z[wx,wy]:=n; end else if(Z[wx,wy]=1) then begin if (Z[wx,wy+1]>mx*my) then Z[wx,wy]:=Z[wx,wy+1]; if (Z[wx+1,wy]>mx*my) then Z[wx,wy]:=Z[wx+1,wy]; if (Z[wx,wy-1]>mx*my) then Z[wx,wy]:=Z[wx,wy-1]; if (Z[wx-1,wy]>mx*my) then Z[wx,wy]:=Z[wx-1,wy]; end; write(n-mx*my); end; .....
Я как бы сделал блок схему, и алгоритм проги, но мне сказали после условия "Если поле заполнено", подробно расписать, как происходит подсчет островов.
Народ, подскажите алгоритм выполнения подсчета островов или блок схему процедуры подсчета островов. ... Я как бы сделал блок схему, и алгоритм проги, но мне сказали после условия "Если поле заполнено", подробно расписать, как происходит подсчет островов.
Твоя процедура работает неправильно.. Нет смысла, думаю, составлять алгоритм или блок-схему по неверной процедуре. Вот, смотри - тут приведены острова, потом выводится результат твоей процедуры, а потом сама матрица, где можно видеть, как ты считал острова. Видно, что один и тот же остров помечен разными цифрами. Волны означают воду..
@^WARlock^@ - чисто по-человечески, скажи, почему ты сначала задаешь вопрос, тебе отвечают, потом ты делаешь все по-другому, а потом снова просишь ответить на вопрос, на который уже отвечено в самом первом посте темы?.. Это вызываает недоумение.. Есть ли смысл говорить, если собеседник не слышит?
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой