public override void Cross(int k) { int count = 1; for (int i = 0; i < p.Length; i++) { if (one.GetP()[i] == too.GetP()[i] && one.GetP()[i] == true) { p[i] = one.GetP()[i]; count++; } } for (int i = 0; i < k - 1; i++) { a[i] = false; } for (int i = k - 1; (i >= 0) && (count < p.Length); i--) { if (one.GetA()[i] == too.GetA()[i] && one.GetA()[i] == true) { a[i] = one.GetA()[i]; count++; } } a[k] = true; }