Tengo una fucion recursiva que calcula una serie de combinaciones.....
Cada combinacion es evaluada y si cumple una serie de condiciones, debe de interrumpirse la ejecucion de la funcion recursiva, salir y continuar el programa justo despues de donde se realizo la llamada a la funcion recursiva. :
Código: Seleccionar todo
CalculaComb(int t,int Ta,int L,int x)
{
while ( t <= (Ta-(L-x)))
{
if (L>x)
{
VectorElementos[x] = t;
CalculaComb((t+1),Ta,L,(x+1));
}
else
{
VectorElementos[x] = t;
//Donde deberia interrumpirse la recursividad
if(CumpleCondicion(VectorElementos){[b]SALIR[/b]}
}
t++;
}
}
ejp:
Conjunto{abcdef} Ta=6;
Subconjuntos de 3 elementos L=3
abc
abd
abe
abf
acd
.....