Foro de elhacker.net

Programación => Java => Mensaje iniciado por: matc33 en 18 Octubre 2013, 02:55 am



Título: Consulta metodo Matriz Java
Publicado por: matc33 en 18 Octubre 2013, 02:55 am
Buenas a todos, tengo una consulta sobre cómo podría programar en Java un método que dada tres coordenadas de una matriz ejemplo posición (1,2) y (1,3) y (2,3) me diga si estos forman una L entre ellos tres, esta L puede estar en cualquier posición vertical, horizontal, o dada vuelta..

Gracias


Título: Re: Consulta metodo Matriz Java
Publicado por: zonahurbana en 19 Octubre 2013, 21:33 pm
¿Y esas 3 posiciones sí formarían una L?
Es decir, ¿qué tamaño debe tener la L?


Título: Re: Consulta metodo Matriz Java
Publicado por: visualfree en 23 Octubre 2013, 17:28 pm
Estimado:

Junto con saludarte, según yo para hacer un L con 3 elementos centradita , deberías dejar las posiciones 0,1 - 1,1 - 1,2 y bueno deberás verificar todas las posibles L ,... dependiendo del las dimesiones de tu matriz bidemensional ... pero con esto te podrá servir para comenzar....

Te dejo un ejemplo que te hice, espero te sirva:
Código:
import java.util.*;
class Mapa{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
Dibujar dibujo=new Dibujar();
dibujo.CrearMapa();
dibujo.MostrarMapa();
System.out.println("Desea Dibujar en esta Matriz 3x3? Si:1, No:2");
int opt=in.nextInt();
if(opt==1){
System.out.println("Ingresar PosI1:");
int posI1=in.nextInt();
System.out.println("Ingresar PosX1:");
int posX1=in.nextInt();
System.out.println("Ingresar PosI2:");
int posI2=in.nextInt();
System.out.println("Ingresar PosX2:");
int posX2=in.nextInt();
System.out.println("Ingresar PosI3:");
int posI3=in.nextInt();
System.out.println("Ingresar PosX3:");
int posX3=in.nextInt();
dibujo.DibujarMapa(posI1,posX1,posI2,posX2,posI3,posX3);
dibujo.MostrarMapa();
}else{
System.out.println("Chao");
}
}
}
class Dibujar{
String[][] mapa=new String[3][3];
public void CrearMapa(){
for(int i=0;i<3;i++){
for(int x=0;x<3;x++){
mapa[i][x]=""+i+","+x;
}
}
}
public void MostrarMapa(){
for(int i=0;i<3;i++){
for(int x=0;x<3;x++){
System.out.print("["+mapa[i][x]+"]");
}
System.out.println();
}
}
public void DibujarMapa(int PosI1,int PosX1,int PosI2,int PosX2,int PosI3,int PosX3){
mapa[PosI1][PosX1]="X,X";
mapa[PosI2][PosX2]="X,X";
mapa[PosI3][PosX3]="X,X";

}
}