Esempio n. 1
0
void restablecer(Pagina* actual, int k)
{
   /* actual tiene la dirección del nodo antecedente de
      actual -> ramas[k] que tiene menos claves que el mínimo
   */

   if (k > 0)		/* Tiene "hermano" izquierdo */
      if (actual->ramas[k-1]->cuenta > m/2)
         moverDrcha(actual, k);
      else
         combina(actual, k);

   else				/* Sólo tiene "hermano" derecho */
      if (actual->ramas[1]->cuenta > m/2)
         moverIzqda(actual, 1);
      else
         combina(actual, 1);
}
Esempio n. 2
0
void geracombi(int n, int ini, int k)
{
  int i;
  if(n == 0){
    combina();
    return;
  }
  
  for(i=ini; i <= x - n; i++){
    usar[k] = i;
    geracombi(n-1, i+1, k+1);
  }
}
Esempio n. 3
0
int main()
{
    int n, r;

    printf("\tPrograma que Calcula las Permutaciones posibles de un conjunto.\n\n");

    printf("Introduce el número de elementos: ");
    scanf("%d",&n);

    printf("Introduce el número de objetos a probar: ");
    scanf("%d",&r);

    printf("\nEl número de combinaciones (%d)C(%d) = %d.\n\n",n,r,combina(n,r));

    printf("Fin del Programa.\n");

    return 0;
}