Tester toutes les possibilites [C]
Résolu/Fermé
seo610
Messages postés
596
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
30 juin 2015
-
31 mai 2011 à 20:09
seo610 Messages postés 596 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 30 juin 2015 - 2 juin 2011 à 02:42
seo610 Messages postés 596 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 30 juin 2015 - 2 juin 2011 à 02:42
A voir également:
- Tester toutes les possibilites [C]
- Tester performance pc - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester signal wifi gratuit - Guide
- Tester batterie pc portable - Guide
- Tester sa ram - Guide
1 réponse
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
1 juin 2011 à 17:03
1 juin 2011 à 17:03
Bonjour,
Ce sont des permutations pouvez trouver du code assez facilement la dessus par exemple ici : http://bearcave.com/random_hacks/permute.html
«Alexander Bogomolyn's unordered permutation algorithm»
J'ai fait les modifications pour l'utiliser avec une chaîne :
Ce sont des permutations pouvez trouver du code assez facilement la dessus par exemple ici : http://bearcave.com/random_hacks/permute.html
«Alexander Bogomolyn's unordered permutation algorithm»
J'ai fait les modifications pour l'utiliser avec une chaîne :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void print(const int *v, const int size,const char *s)
{
int i;
if (v != 0) {
for (i = 0; i < size; i++) {
printf("%c",s[v[i]-1]);
}
printf("\n");
}
}
void visit(int *Value, int N, int k,const char *s)
{
int i;
static level = -1;
level = level+1; Value[k] = level;
if (level == N)
print(Value, N,s);
else
for (i = 0; i < N; i++)
if (Value[i] == 0)
visit(Value, N, i,s);
level = level-1; Value[k] = 0;
}
int main(void)
{
const char *test="abcd";
int i,N,*Value;
N=strlen(test);
Value=malloc(sizeof(int)*N);
for (i = 0; i < N; i++) {
Value[i] = 0;
}
visit(Value, N, 0,test);
free(Value);
return 0;
}
2 juin 2011 à 02:42