public String[] cruza_1_punto(IndividuoReal individuo, int puntoCruza) { String[] hijos = new String[2]; String[] genesPadre = this.cromosomaReal.GetGenes(); String[] genesMadre = individuo.cromosomaReal.GetGenes(); for (int i = 0; i < genesPadre.Length && i < genesMadre.Length; i++) { hijos[0] = genesPadre[i].Substring(0, puntoCruza) + genesMadre[i].Substring(puntoCruza, genesMadre[i].Length - 1); hijos[1] = genesMadre[i].Substring(0, puntoCruza) + genesPadre[i].Substring(puntoCruza, genesPadre[i].Length - 1); } return(hijos); }
static void Main(string[] args) { int min = 0, Max = 0, P = 0, numVariables = 0; while (true) { Console.WriteLine("===Representación Real==="); Console.WriteLine("Ingresa el numero de variables: "); numVariables = int.Parse(Console.ReadLine()); Console.WriteLine("valor Min: "); min = int.Parse(Console.ReadLine()); Console.WriteLine("valor Max: "); Max = int.Parse(Console.ReadLine()); Console.WriteLine("Numero de Particiones (P): "); P = int.Parse(Console.ReadLine()); IndividuoReal individuo = new IndividuoReal(numVariables, min, Max, P); Console.WriteLine(individuo + "\n"); } }