Ler dados de um .txt, guardar como estrutura e trabalhar os valores numa classe diferente

4 respostas
L

Boa tarde. Foi-me proposto a realização de um código que guarde os dados (coordenadas de um mapa) de um .txt com o seguinte padrão, em C, e que posteriormente ordene os valores e tome uma decisão relativamente à coordenada que se deve seguir. O ficheiro .txt tem este padrão:

x | y | z
22| 25| 2
22| 26| 0
21| 26| 1
21| 25| 1
21| 24| 1

Agora foi-me pedido o mesmo, mas em Java. Estou um bocado à nora relativamente à maneira como implemento uma estrutura que guarde os valores do .txt, mas ainda estou mais à nora em relação à maneira de como vou ordenar os valores numa classe diferente daquela em que li o .txt. Alguém me pode dar uma luz?

Cumprimentos.

4 Respostas

E

Crie uma classe, semelhante à Point2D, mas que tenha 3 campos (x, y, z) em vez de 2:

http://docs.oracle.com/javase/1.5.0/docs/api/java/awt/geom/Point2D.html

L

Estive a ler a classe que me apresentou, mas não pude deixar de reparar que eu não preciso de saber a distância entre as coordenadas. A selecção do caminho a escolher passa pela análise da ordenação do .txt que nos apresentam, por isso não sei se esta classe será a melhor. Existe outra mais adequada?

Outra dúvida, vamos supor que guardo esses dados do .txt numa classe chamada “Leitura”. Como uso os valores dessa classe noutra de modo a ordená-los?

E

Como você ordena os pontos no espaço tridimensional?
Alguém lhe indicou qual é a fórmula a ser usada (por exemplo, usando a distância de um ponto à origem das coordenadas 0, 0, 0?

L

A 1ª linha do .txt indica a posição onde estamos e as 8 restantes linhas indicam as coordenadas à volta dessa posição. O objectivo da ordenação é colocar a ordem das linhas de modo a que a 1ª linha corresponda à posição central, a 2ª linha à posição 1, a 3ª linha à posição 2, etc, tal como se verifica na imagem abaixo.

A questão é essa, eu não necessito de indicar distâncias. Apenas tenho de guardar as coordenadas x, y e z em variáveis (não esquecer que o plano é a 2 dimensões - x,y) sem precisar de criar um campo multidimensional…

Criado 5 de junho de 2012
Ultima resposta 5 de jun. de 2012
Respostas 4
Participantes 2