ayuda matriz buscando camino

Iniciado por takumi_01, 29 Mayo 2010, 20:41 PM

0 Miembros y 1 Visitante están viendo este tema.

takumi_01

buenas, necesito crear una matriz con una cadena de 16 bits de 1 y 0 puesta en un archivo .TXT :-\
y luego tengo que buscar si hay un camino que de la posision 0,0 a la  4,4 siguiendo solamente los 1.
gracias por su tiempo.

egyware

Recomendación, pasar esa matriz de datos del txt en un arreglo de java y luego aplicar algo de pathfinding.
Puedes encontrar informacion de aqui:
http://tinyurl.com/3a622je


Saludos.

takumi_01

#2
ok gracias por tu respuesta  :-\ ya tengo el codigo completo para saber saber si existe un camino desde la posicion 0,0 hasta 4,4 siguiendo solamente los 1.
en el archivo "ARCHIVO.txt" tengo 1110010001110101  que generara una matriz de 4 x 4 e imprimir se 1 si hay camino y 0 no no lo hay


package wasd;
import java.io.*;
public class Proyecto
{
int n=4;
int u=4, g=4;
int matrix[][]=new int [u][g];
FileInputStream archivo; BufferedReader leer;
PrintWriter pr; String Linea;
DataInputStream abrir;

public void abrir()
{
try{
leer=new BufferedReader(new FileReader("ARCHIVO.txt"));
System.out.println("se abrio tu archivo");
   }
catch(Exception C)
    {
C.printStackTrace();
    }
}

public void mostrarArchivo()
{
try
{
while((Linea=leer.readLine())!=null)
System.out.println(Linea);
}catch(Exception C)
{
C.printStackTrace();
}
}

public void matris()
{
try {
archivo=new FileInputStream ("ARCHIVO.txt");
for (int u = 0; u<matrix.length; u++)
{
for (int g = 0; g < matrix.length; g++)
{
matrix[u][g] = archivo.read();
System.out.print(" " + (char) matrix[u][g]);
}
System.out.println();
}
   } catch (IOException C)
{
System.out.println();
}
}


public void caminos()
{
if(matrix[0][0] == '0' || matrix[3][3] == '0'){
System.out.println("0");
}else{
for (int u = 0; u < matrix.length; ) {
for (int g = 0; g < matrix.length; ) {
try {
if(matrix[u][g + 1] == '0' && matrix[u + 1][g] == '0'){
System.out.println("0");
System.exit(0);
}
} catch (Exception C){
}

try {
if(u == 3){
if(matrix[u][g + 1] == '0')
{
System.out.println("0");
System.exit(0);
}
}
} catch (Exception C){
}

try {
if(g == 3){
if(matrix[u + 1][g] == '0'){
System.out.println("0");
System.exit(0);
}
}
} catch (Exception C){
}

try {
if(matrix[u][g + 1] == '1'){
g++;
if(u == (n-1) && g == (n-1)){
System.out.println("1");
System.exit(0);
}
continue;
}
} catch (Exception C){
}

try {
if(matrix[u + 1][g] == '1'){
u++;
if(u == (n-1) && g == (n-1)){
System.out.println("1");
System.exit(0);
}
continue;
}
} catch (Exception C){
}
}
}
}
}
}


gracias por su tiempo y saludos.

Doña Merry

soy nueva en esto de programar, pero, que va en el metodo main?, ya lo probe pero me dice q falta el metodo main......