Contar areas en array

Patxi952
15 de Diciembre del 2009
Hola!,

necesito desarrollar un programa en C para realizar lo siguiente:

En un array bidimensional de dimensiones N*M necesito contar el número de "regiones" que contienen un 1 por ejemplo. Este array sólo contendrá dos valores: 1s o 0s.
Es decir si fuese algo tal que así:

[0, 1, 1, 0, 0, 1, 0, 0]
[0, 1, 0, 0, 0, 1, 1, 1]
[0, 1, 1, 0, 0, 1, 1, 0]
[0, 1, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 1, 1, 0, 0, 0]
[0, 0, 0, 0, 1, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 1]

pues serían 4 las regiones de 1s.

No sé me ocurre una manera más o menos eficiente de resolverlo.

Saludos.

Patxi952
15 de Diciembre del 2009
Nada, ya está solucionado (recursividad). Tengo una mañana ofuscada Jeje