Представьте, что рисунок выше представляет массив 6 * 6 целых, где 0 - черный.
Существует ли быстрый алгоритм для разделения не 0 ячеек на прямоугольники?
В идеале проверка должна содержаться в цикле for без создания каких-либо других массивов .
for(x = 0; x < 6; x++)
for(y = 0; y < 6; y++)
if(cellIsBottomRightOfRect(x,y)) {
left = getLeft(x,y);
top = getTop(x,y);
printf("Rect: %d,%d %d,%d \n", left, top, x, y);
}