C++ Salir de Funcion Recursiva

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
neg1414

C++ Salir de Funcion Recursiva

Mensaje por neg1414 » Dom May 17, 2009 4:20 pm

Buenas

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++;
    }
}
La funcion lo que hace es calcular todas las combinaciones posibles en un conjunto de elementos cuyo numero total es Ta. Estas combinaciones deben de tener un numero de elementos L.

ejp:
Conjunto{abcdef} Ta=6;
Subconjuntos de 3 elementos L=3

abc
abd
abe
abf
acd
.....