Foros del Web » Programación para mayores de 30 ;) » Java »

Clase Vector, Algoritmos geneticos

Estas en el tema de Clase Vector, Algoritmos geneticos en el foro de Java en Foros del Web. Este post viene de otro foro que no me dieron solucion :S Cita: Iniciado por Klosxx Buenas noches, tengo un problema con mi codigo java ...
  #1 (permalink)  
Antiguo 15/08/2011, 23:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Clase Vector, Algoritmos geneticos

Este post viene de otro foro que no me dieron solucion :S
Cita:
Iniciado por Klosxx Ver Mensaje
Buenas noches, tengo un problema con mi codigo java se trata de un programa que simule las anoplaudias cromosomicas ,... pero en si creo que mi programa no tiene nada de eso xD

en fin el error esta cuando quiero agregar a un Vector de Vector de Vector
tengo mi clase persona que tiene un vector de cromosomas pero estas cromosomas tiene un vector para cada cromosoma

pero la pareja tiene dos hijos que es un vector osea tendria esto

ejemplo conseguir un cromosoma del primer hijo del cromosoma 22

String cromosoma= Hijo.get(0).cromosomas().get(21).get(0);

pero cuando quiero agregar otro cromosoma en ese par de cromosomas se me agrega a los dejas hijos

el problema se encuentra en programa>aneuploidias>
Coloque como comentario 3 formas de ingreso si no me equivoco

Para cualquier duda por favor háganme saber quiero dar solucion a este programa que no pude darle
espero que haya logrado expresarme correctamente.

Datos

- Curso : Bioinformatica
- Tema : Algoritmos Geneticos
- Tecnica usada Crossover de dos puntos
- Herencia;
- Agregar cromosomas en el par 22 , 13 , 14 , 20

PD:
- me disculpo si los terminos no son los adecuados
- me disculpo por la programaacion engorrosa
- me disculpo por el post si no es su lugar
PD2:

Gracias

Codigo en NetBeans:
Código:
contoelpeso.info/ehisbzvs9q60
  #2 (permalink)  
Antiguo 16/08/2011, 02:12
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: Clase Vector, Algoritmos geneticos

Cita:
Iniciado por klosxx Ver Mensaje
Este post viene de otro foro que no me dieron solucion :S
Yo te recomendaría que usaras arrays o tablas o arreglos. Porque los vectores suelen ser secuenciales, es decir, que para rellenar la posicion 24, las 23 posiciones anteriores.

Cromosoma[] arrayCromosomas = new Cromosomas[CTE_numero_cromosomas];

arrayCromosomas[25] = new Cromosoma();

Tambien se puede hacer con un vector, pero entonces, en el contructor de la clase, Vector hay que añadirle en tamaño que va a tener y luego usar el metodo Vector.insertElementAt(Object, indice).
  #3 (permalink)  
Antiguo 16/08/2011, 23:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Clase Vector, Algoritmos geneticos

Cita:
Iniciado por Erickvk Ver Mensaje
Yo te recomendaría que usaras arrays o tablas o arreglos. Porque los vectores suelen ser secuenciales, es decir, que para rellenar la posicion 24, las 23 posiciones anteriores.

Cromosoma[] arrayCromosomas = new Cromosomas[CTE_numero_cromosomas];

arrayCromosomas[25] = new Cromosoma();

Tambien se puede hacer con un vector, pero entonces, en el contructor de la clase, Vector hay que añadirle en tamaño que va a tener y luego usar el metodo Vector.insertElementAt(Object, indice).
El problema no es como use la clase vector

Prefiero usar un Vector que un array.. el problema esta cuando quiero hacer
Código:
Persona duplicar1 = new Persona();    
   duplicar1.Cromosomas().get(Programa.DOWN21).add(duplicar1.Cromosomas().get(Programa.DOWN21).get(0));
     Hijos.add(duplicar1);
o
Código:
     nino.Cromosomas().elementAt(Programa.DOWN21).add(iniciarninio.Cromosomas().elementAt(Programa.DOWN21).get(0)); 
        Hijos.insertElementAt(nino,3);
        nino = iniciarninio;
se me hace para todos

Etiquetas: algoritmos, clase, netbeans, vectores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:54.