Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

afficher toutes les combinaisons

1 view
Skip to first unread message

programmation

unread,
Nov 28, 2009, 2:17:31 PM11/28/09
to
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?

Merci.

ByB

unread,
Nov 28, 2009, 6:25:55 PM11/28/09
to
programmation a couché sur son écran :

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)


Alain

unread,
Nov 29, 2009, 1:14:09 AM11/29/09
to
"programmation" <boual...@gmail.com> a �crit dans le message de news:
76f71bc4-2646-48e0...@j24g2000yqa.googlegroups.com...

>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.

programmation

unread,
Nov 29, 2009, 11:09:27 AM11/29/09
to
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.

0 new messages