void pasarAArreglo(int size, int num){ int A[size]; int i = size-1; int resto; for(i; i >= 0; i--){ resto = num%10; num = num/10; A[i]=resto; } permutar(A, size, combPosibles(size)); }
///Cargar el vector con las posibles permutaciones void permutar(funciones *donde, char *cadena, int inicio){ int j; int fin = strlen(cadena); if(inicio==fin){ //Si ya diste tod0 vuelta donde->datos[donde->puntero++] = strdup(cadena); //el cpy y malloc }else{ for(j=inicio; j<= fin; j++){ xor((cadena+inicio), (cadena+j)); permutar(donde, cadena, inicio+1); xor((cadena+inicio), (cadena+j)); //rollback } } }