
matriz islas
Publicado por marios (58 intervenciones) el 08/04/2014 14:39:34
buenas ramon queria tu ayuda para el siguiente ejercicio que es parte de un trabajo a entregar en la facultad.de antemano muchas gracias
Escriba un programa pascal que dado un mapa representado por una matriz de
tamaño N*M de ceros y unos, donde 0 representa agua y 1 tierra, imprima las islas encontradas en el
mismo. Una isla es una agrupación de celdas (al menos una) con valor 1, cada una de las cuales es
adyacente horizontal y/o verticalmente a una celda del mismo grupo. Una isla está delimitada,
horizontal y verticalmente, por celdas con valor 0 o por los límites (fronteras) del mapa.
Por ejemplo, en el siguiente mapa de tamaño 5*10, hay 6 islas.
1 1 1 0 0 1 1 1 1 1
1 1 0 0 0 0 1 0 0 1
0 0 0 1 0 0 1 0 0 0
0 0 0 0 1 0 1 0 0 0
1 1 1 0 0 0 1 1 0 1
Las 6 islas están compuestas de las siguientes celdas, cuyas coordenadas son:
Isla 1: (1,1) (1,2) (1,3) (2,1) (2,2)
Isla 2: (3,4)
Isla 3: (4,5)
Isla 4: (5,1) (5,2) (5,3)
Isla 5: (1,6) (1,7) (1,8) (1,9) (1,10) (2,10) (2,7) (3,7) (4,7) (5,7) (5,8)
Isla 6: (5,10)
Notar que (3,4) y (4,5) no forman una isla sino que son dos islas distintas.
Se pide que el programa imprima las celdas de cada isla del mapa siguiendo el formato
del ejemplo.
El orden de impresión entre las islas no es relevante, ni tampoco el orden en que se
imprimen las celdas de
Escriba un programa pascal que dado un mapa representado por una matriz de
tamaño N*M de ceros y unos, donde 0 representa agua y 1 tierra, imprima las islas encontradas en el
mismo. Una isla es una agrupación de celdas (al menos una) con valor 1, cada una de las cuales es
adyacente horizontal y/o verticalmente a una celda del mismo grupo. Una isla está delimitada,
horizontal y verticalmente, por celdas con valor 0 o por los límites (fronteras) del mapa.
Por ejemplo, en el siguiente mapa de tamaño 5*10, hay 6 islas.
1 1 1 0 0 1 1 1 1 1
1 1 0 0 0 0 1 0 0 1
0 0 0 1 0 0 1 0 0 0
0 0 0 0 1 0 1 0 0 0
1 1 1 0 0 0 1 1 0 1
Las 6 islas están compuestas de las siguientes celdas, cuyas coordenadas son:
Isla 1: (1,1) (1,2) (1,3) (2,1) (2,2)
Isla 2: (3,4)
Isla 3: (4,5)
Isla 4: (5,1) (5,2) (5,3)
Isla 5: (1,6) (1,7) (1,8) (1,9) (1,10) (2,10) (2,7) (3,7) (4,7) (5,7) (5,8)
Isla 6: (5,10)
Notar que (3,4) y (4,5) no forman una isla sino que son dos islas distintas.
Se pide que el programa imprima las celdas de cada isla del mapa siguiendo el formato
del ejemplo.
El orden de impresión entre las islas no es relevante, ni tampoco el orden en que se
imprimen las celdas de
Valora esta pregunta


0