Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

afficher toutes les combinaisons

3 réponses
Avatar
programmation
Bonjour,

Je voulais afficher toutes les combinaisons possibles de taille 2, de
taille 3 jusqu'=E0 taille N.
par exemple on a 4 mots(chaine de caract=E8re):

un
deux
trois
quatre



les combinaisons possibles sont :
un deux
un trois
un quatre
deux trois
deux quatre
trois quatre
un deux trois
un deux quatre
un trois quatre
deux trois quatre
un deux trois quatre

On a N =3D 4 et le nombre de combinaisons =3D 11

Avez vous une id=E9e?

Merci.

3 réponses

Avatar
ByB
programmation a couché sur son écran :
Bonjour,

Je voulais afficher toutes les combinaisons possibles de taille 2, de
taille 3 jusqu'à taille N.
par exemple on a 4 mots(chaine de caractère):

un
deux
trois
quatre



les combinaisons possibles sont :
un deux
un trois
un quatre
deux trois
deux quatre
trois quatre
un deux trois
un deux quatre
un trois quatre
deux trois quatre
un deux trois quatre

On a N = 4 et le nombre de combinaisons = 11

Avez vous une idée?



et vous ?

--
"Pour en revenir à la réclame des pilules pour le foie, j’avais, dans
ce cas précis, et sans aucun doute possible, tous les symptômes
décrits, en particulier « une répugnance générale au travail sous
toutes ses formes ». Les mots me manquent pour dire mes souffrances sur
ce plan. Dès ma première enfance, j’endurai le martyre. À l’école,
cette maladie ne me quitta pas un seul jour. On ignorait alors que mon
foie en était la cause. La médecine était loin d’être aussi avancée
qu’aujourd’hui, et on avait coutume d’accuser la paresse." (J. K.
Jérôme - 3 hommes dans un bateau)
Avatar
Alain
"programmation" a écrit dans le message de news:

Bonjour,

Je voulais afficher toutes les combinaisons possibles de taille 2, de
taille 3 jusqu'à taille N.
par exemple on a 4 mots(chaine de caractère)



Cherche dans google les codes avec permutations ou combinaisons, genre
http://compprog.wordpress.com/2007/10/08/generating-permutations-2/
http://www.indiastudychannel.com/resources/21722-C-Program-show-all-combinations-four-letter-word.aspx
et tu adaptes à ton cas.
Avatar
programmation
Je voulais afficher toutes les combinaisons possibles de taille 2, de
taille 3 jusqu'à taille N.
par exemple on a 4 mots(chaine de caractère):

Citation :

un
deux
trois
quatre



les combinaisons possibles sont :
Citation :


un deux
un trois
un quatre
deux trois
deux quatre
trois quatre
un deux trois
un deux quatre
un trois quatre
deux trois quatre
un deux trois quatre




Donc on a N = 4 et le nombre de combinaisons = 11
On ne s'intéresse pas au combinaison formant par 1 seul mot(un,
deux,trois et quatre).

Voici une solution:
Code :

1. #include <stdio.h>
2. #define N 5
3. void afficher(int etat[], char *t[])
4. {
5. int i;
6. for (i = 0; i < N; i++)
7. if (etat[i])
8. printf("%s ", t[i]);
9. puts("" );
10. }
11.
12. void partie(int h, int etat[], char *t[])
13. {
14. enum { ABSENT, PRESENT };
15. if (h < 0)
16. afficher(etat, t);
17. else
18. {
19. etat[h] = ABSENT;
20. partie(h - 1, etat, t);
21. etat[h] = PRESENT;
22. partie(h - 1, etat, t);
23. }
24. }
25.
26. int main(void)
27. {
28. char *t[N] = { "nom", "prenom", "age", "adresse", "emploi" };
29. int etat[N];
30. partie(N - 1, etat, t);
31. return 0;
32. }



il affiche :
Citation :

nom
prenom
nom prenom
age
nom age
prenom age
nom prenom age
adresse
nom adresse
prenom adresse
nom prenom adresse
age adresse
nom age adresse
prenom age adresse
nom prenom age adresse
emploi
nom emploi
prenom emploi
nom prenom emploi
age emploi
nom age emploi
prenom age emploi
nom prenom age emploi
adresse emploi
nom adresse emploi
prenom adresse emploi
nom prenom adresse emploi
age adresse emploi
nom age adresse emploi
prenom age adresse emploi
nom prenom age adresse emploi



Comment modifier cette solution pour obtenir les combinaisons à partir
de taille 2 et soit aussi triée (taille 2 puis 3 puis 4 puis 5) ?

Le résultat souhaité obtenu est :
Citation :



nom prenom
nom age
nom adresse
nom emploi
prenom age
prenom adresse
prenom emploi
age adresse
age emploi
adresse emploi
nom prenom age
nom prenom adresse
nom prenom emploi
nom age adresse
nom age emploi
nom adresse emploi
prenom age adresse
prenom age emploi
prenom adresse emploi
age adresse emploi
nom prenom age adresse
nom prenom age emploi
nom prenom adresse emploi
nom age adresse emploi
prenom age adresse emploi
nom prenom age adresse emploi



Pouvez vous m'aidez ?

Merci.