kritical
Messages postés9Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention 3 décembre 2005
-
14 nov. 2005 à 15:12
kritical
Messages postés9Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention 3 décembre 2005
-
21 nov. 2005 à 18:30
salut tout le monde
j'aimerais bien si on peut m'aide a résoudre ce probléme:
je voudrais lister toutes le combinaisons possibles de n entiers à saisir(en C++)
exp:pour 3 entier {7,3,4}:
734
374
743
437
473
347
merci d'avance.
Lord_Patoche
Messages postés196Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 1 mai 20093 14 nov. 2005 à 23:13
Tu peux effectuer une boucle for allant pour trois chiffres de 100 à 999, puis transformer chacune des valeur en chaine de caractère, étudier chacun de ces caractères pour connaitre s'ils sont équivalents aux chiffres recherchés, auquel cas, tu garde le nombre formé par ces chiffres. Tu créées en parallèle une routine pour éliminer les combinaisons contenant deux fois le même chiffre (ex 773, 337)
Hylvenir
Messages postés364Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 octobre 20062 14 nov. 2005 à 23:36
Salut,
en C++, tu peux utiliser next_permutation sur ton tableau triée.
Pour une question de cours, tu peux faire tous les chemins possible en
passant par tous les points dans graphe complet, les valeurs de ton
tableau étant les noeuds de ton graphe ;)
Lord_Patoche
Messages postés196Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention 1 mai 20093 15 nov. 2005 à 00:14
Ce Code correspond à l'idée que j'ai exposé précédemment. tu commence par choisir le nombre de chiffre puis tu les choisis un par un. Ensuite, les combinaisons diverses apparaissent. Attention, ce code ne dispose pas d'un anti doublon, ainsi, certaines combinaisons pourront ressembler à (773, 777, 337 si par exemple tu choisis les chiffres 3 et 7)
int Nb = 0;
char Chiffre[10];
char ChiffreLu[10];
char *Combinaison[10000];
long exposant(long, long);
int main()
{
printf("Combien de nombres :");
scanf("%d", &Nb);
char c = getchar();
for(int cpta = 0; cpta< Nb; cpta++)
{
printf("\nEntrez le nombre numero %d :",cpta+1);
scanf("%c", &Chiffre[cpta]);
char c = getchar();
}
kritical
Messages postés9Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention 3 décembre 2005 15 nov. 2005 à 12:59
merci mais j'ai juste besoin d'afficher pour 3 nombres les 6 combinaisons:
exp pour 3:{1,2,3}:
123
132
231
213
321
312
comment on fait un anti doublon?
ekinox17
Messages postés66Date d'inscriptionjeudi 6 octobre 2005StatutMembreDernière intervention18 janvier 2006 15 nov. 2005 à 15:46
Ouah et ben moi qui voulait me lancer dans ce problemes car il
paraisser plutot difficile ... glups et toi tu l'as fait comment sa et
bien moi je dit chapeau monsieur...
hatemvbb
Messages postés1Date d'inscriptiondimanche 20 novembre 2005StatutMembreDernière intervention20 novembre 2005 20 nov. 2005 à 22:14
Salut a tous,moi aussi je suis dans la meme galere.j'apprecie l'algorithme que t'as propose hylvenir,mais ce que je voudrais c'est un programme qui permet de saisr n entiers et ensuite de faire les permutaions.
ex:
saisir 3 entiers : 1,2,3
voici les permutations : 1-2-3,1-3-2,2-3-1,2-1-3,3-2-1,3-1-2.
merci d'avance.
Hylvenir
Messages postés364Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 5 octobre 20062 20 nov. 2005 à 22:22
Salut,
je ne suis pas censé faire les devoirs, et c'était une erreur de ma part
de proposer une solution complête.
Normalement, ce site n'est pas fait pour ça, mais apporter une aide
(enfin peut être que les admins me contrediront),
il faudrait que tu montres ce que tu as essayé de faire pour voir le problème
et voir ensuite où peut se trouver ton problème.
Sinon, si tu as compris mon code et comment il fonctionne, tu dois
facilement pouvoir le modifier pour arriver à résoudre ton problème.
kritical
Messages postés9Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention 3 décembre 2005 21 nov. 2005 à 18:30
moi j'ai trouvé la solution pour n entiers(avec un autre code)
et je suis entrain d'améliorer mon program avec un affichage en fenétre...
je filerais le code dés que j'aurais términé.