Прога частично напоминает морской бой. Задается поле, на нем можно расставлять острова (один квадрат –ик один остров). После расставления островов, прога должна сосчитать их кол-во.
@^WARlock^@, спор, как ты выражаешься, был затеян по одной только причине: из твоих "условий" никто не смог понять, что же тебе все-таки нужно! Ты не обратил внимания на вопросы? Твои "пояснения", увы, мало помогли.. Когда задешь вопрос, старайся дать исчерпывающую информацию об условии - даже если это требует нескольких лишних строчек текста. Поимей уважение к отвечающим..
Цитата(@^WARlock^@ @ 3.03.2007 7:26)
Взял морской бой и убрал лишнее. ... Тут и поле готовое, и острова можно выд не перемещаясь по клеткам.
Поле-то готовое, но только ты выкинул часть, где расставляются корабли (в твоем случае - острова, как я понял). Нажатие мышки в этой программе соответствует выстрелу, после чего проверяется попадание. У тебя же, поскольку массив не заполнен, никакого попадания нет.
Цитата(@^WARlock^@ @ 4.03.2007 12:45)
2) Кто подскажит код по которому можно подсчитать кол-во выделенных клеток(островов).
Для начала - введи заполнение массива. Если хочешь делать это мышью - значит просто ставь 1 в соответствующий элемент массива ac. И убери проверку на попадание... Подсчет островов - это будет просто двойной цикл суммирования:
s:=0; for j:=1 to 10 do for i:=1 to 10 do s:=s+ac[i,j];
Ты это хотел? У меня все меньше уверенности, что я тебя правильно понимаю.. И хотя бы намекни, что же ты хочешь иметь в конце. Просто посчитать острова?..
Цитата(TarasBer @ 3.03.2007 19:07)
А обход - это если остров состоит из нескольких клеток - то мы сначала находим клетку, которая относится к острову, а потом обходом (не, нырять не стоит) находим все клетки, до которых из неё можно добраться по суше.
TarasBer, это все слова. Предложи конкретный алгоритм, если уж говоришь о нем. А зоадно скажи, чем тебе не по нраву тот, который я привел в первом ответе.
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой