Псевдокод: <br/> найдено_кластеров=0 <br/> Цикл по Y { Цикл по X { <br/> Если клетка[X,Y]==чёрная /*нашли новый кластер*/, то <br/> размеры_кластеров[++найдено_кластеров] <br/> =закрасить_белым_кластер_и_посчитать_размер[X,Y] <br/> } <br/> } <br/> <br/> Алгоритм закрашивания нагуглить готовый и добавить туда подсчёт клеток. <br/> Закрашивание и подсчёт зависит от функции соседства - соседями можно считать только четыре клетки, либо восемь с диагоналями, от этого зависит, что считать кластером. Отдельно надо уточнять, как считать если внутри большого кластера окажется маленький кластер.