Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
AYUDA POR FAVOR (J2ME)
Enviado por federico chaves el día 15 de abril de 2006
TENGO UNA MATRIZ LLENA DE UNOS Y CEROS DE 29X29, NESESITO QUE SI EN ESTA MATRIZ HAY UNA FIGURA GEOMETRICA DE 1'OS, TODO EL INTERIOR DE ESTA FIGURA SE ME VUEJVA 1'S
POR EJEMPLO
00100
01010
00100
COMO SE FORMA UN CUADRADO
SE VUELVA
00100
01110
00100
ESTO SE DEBE HACER PARA CUALQUIER "FIGURA" DE UNOS.....
Recorres la matriz completa y para cada posición que sea cero, debes hacer 4 ciclos iterando sobre los puntos cardinales.. si se cumple la condición de "encontrar un 1" en las 4 entonces, esa posición de 0 la colocas a 1.
Si se encuentra en un sitio cerrado por ejemplo
1 1 1
1 0 1
1 1 1
entonces ya a encontrar cuatro 1's, y está bien. Por el contrario si no encuentra los cuatro 1' entonces no se encuentra en un sitio cerrado, por ejemplo
1 0 1
1 0 1
1 1 1
Toma en cuenta el caso:
1 1 1
1 0 1
1 0 1
1 1 1
Donde por el Norte se encuentra primero a un 0 en vez de un 1.. debes recorrerlo completo para saberlo.
Espero que te sirva.
Enviado por federico chaves el día 17 de abril de 2006
MUCHAS GRACIAS POR LA AYUDA.....
SOLO HAY UN PROBLEMA CON ESE METODO....
PEINSA EN ESTO...
TIENES EN LA MATRIS LOS SIGUIENTES VALORES
010
000
101
101
111
COMO TU BSCAS LOS 1'S EN LOS PUNTOS CARDINALES..... FIJATE QUE SI SIGUES BUSCANDO POR EL NORTE, TE DIRA QUE LO ENCONTRASTE Y PONDRA UN 1...MIENTRAS QUE ESA ES UNAFIGURA CERRADA