begin process at 2012 05 29 07:45:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

lister tous les combinaisons de k elements


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lister tous les combinaisons de k elements

jeudi 7 juin 2007 à 13:45:41 | lister tous les combinaisons de k elements

mohamed123

bonjour,
j'ai besoin d'un programme qui liste toute les combinaisons possibles de taille  k  dans un ensemble de taille n.
Cnp {l'ensemble peut etre {1,2,...,n}}.
j'ai bessoin de ce code pour mon projet.
Merci d'avance pour l'aide!
jeudi 7 juin 2007 à 14:27:26 | Re : lister tous les combinaisons de k elements

acx01b


salut

j'espère que cette version récursive te plaira

void combinaisons(int *ens, int *combinaison, int n, int p, int i, int t, void (*func)(int*,int)) {
    if (i<p) {
        int k;
        for (k=t; k<n; k++) {
            combinaison[i] = ens[k];
            combinaisons(ens,combinaison,n,p,i+1,k+1,func);
        }
    }
    else {
        func(combinaison,p);
    }
}

void afficher( int *p, int n) {
  int i;
  for (i = 0; i < n; i++) printf("%d ", p[i]);
  printf("\n");
}

int main() {
  int ens[] = {1,2,3,4,5,6};
  int combi[4];
  combinaison(ens,combi,6,4,0,0,afficher);
}
jeudi 7 juin 2007 à 14:46:52 | Re : lister tous les combinaisons de k elements

acx01b

sinon la plus jolie version serait plutôt celle ci:

void combi2(int *ens, int *cmb, int n, int p , int i, int k, void (*func)(int*,int)) {
    if (k == p) func(cmb,p);
    else if (i < n) {
        combi2(ens,cmb,n,p,i+1,k,func);
        cmb[k] = ens[i];
        combi2(ens,cmb,n,p,i+1,k+1,func);
    }
}

qui implémente la formule C(n+1,p+1) = C(n,p) + C(n,p+1)

samedi 9 juin 2007 à 08:43:02 | Re : lister tous les combinaisons de k elements

coucou747

Administrateur CodeS-SourceS
Salut

C(n+1,p+1) = C(n,p) + C(n,p+1) //pascal ?

sinon, t'as le droit de sortir plusieurs fois la meme lettre ?

(si le code precedent convient, merci de le valider, histoire que je ne le fasse pas pour rien...)


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
samedi 9 juin 2007 à 11:00:11 | Re : lister tous les combinaisons de k elements

acx01b

salut coucou47

oui mon code convient pour les combinaisons :)

par définition l'ensemble (int * ens) ne contient pas de répétition

la combinaison n'en contiendra pas non plus
samedi 9 juin 2007 à 11:10:19 | Re : lister tous les combinaisons de k elements

coucou747

Administrateur CodeS-SourceS
Salut

ce que je veux dire, c'est que les mots de 3 lettres faisables avec a b c, t'as pas que :

abc
acb
bac
cab
cba
bca

t'as aussi :
aab
aba
baa
...

il veut peut-etre recuperer aussi ceux la... ou peut-etre au contraire, ne pas lister deux mots qui contiennent les memes lettres
alors pour des mots de 2 lettres pour a, b, c t'aurais

ab
ac
bc



une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
samedi 9 juin 2007 à 14:23:40 | Re : lister tous les combinaisons de k elements

acx01b

salut

en combinatoire:

mot (liste)
arrangement
combinaison
combinaison avec répétition (k-combinaison, sélection, distribution)
partition
partage
permutation

ont tous des sens bien précis

a+
dimanche 9 mai 2010 à 20:21:24 | Re : lister tous les combinaisons de k elements

dida87

bjr,est ce qu'il ya un moyen de mettre toutes les combinaison obtenues dans une liste "structure de donnees" en c (une fonction qui retourne une liste de toutes les combinaison).merci c'est vraiment urgent.merci
mardi 4 janvier 2011 à 15:04:22 | Re : lister tous les combinaisons de k elements

nourelyakine10

salut tt le monde je suis un éleve dans une ecole privé de developpemnt informatique
j'etudie language C et j'espers un programme de C de conversion de biniare ---->decimal
mardi 4 janvier 2011 à 15:04:56 | Re : lister tous les combinaisons de k elements

nourelyakine10

merci bq tt les developpeurs


Cette discussion est classée dans : taille, lister, elements, ensemble, combinaisons


Répondre à ce message

Sujets en rapport avec ce message

recuperation de diverses informations d'un projet C [ par siphilis ] bonjour,alors ma situation: j'ai deja posé d'autre question à ce sujet, mais n'ayant pas de reponse, je regroupe le tout et vous demande de l'aide. je recherche fichiers executables et comparaisons [ par limsa033 ] Bonsoir,je cherche à lister tous les fichiers executables d(un disque dur ainsi que leur principales caractéristiques(nom,chemin et taille et date de lister les fichiers (nom, taille...) d'un repertoire en sous windows C++ [ par th3r1ddl3r ] bonjour,voila mon probleme, j'arrive a lister les fichiers d'un repertoire (avec findfirstfile et findnextfile) et dire si ce sont des repertoires ou [casse-tête]Lister toutes les combinaisons possibles sans ordre [ par willbill ] Salut à tous !Je cherche depuis ce matin l'algorithme qui permettrai de lister toutes les combinaisons possibles, sans ordre (c'est à dire que ABE équ le calcul de la complexité [ par boualiasma ] Bonjour, Quelle est la complexité au pire de cas pour le calcul de toutes les combinaisons possibles pour n caractères à partir de taille 2 jusqu'à un problem avec C [ par scofild52 ] salut a tous je suis un bebutant dans la language C. je veut representer un ensemble via tableau de bit en c. chaque elements de l'ensemble sera repre convertir du cpp en VB.net ou VB [ par Taur33 ] bonsoir à tous, j'aurais besoin de convertir le code suivant en vb je précise que j'ai déjà essayé des logiciels qui soit disant le faisait mais cela combiner des chiffres aléatoirement c++ [ par mervat ] bonjour, supposant que j'ai un ensemble de chiffres/ou nombres entiers (1 - 4 - 8 - 10 - 12) que je veux combiner aléatoirement pour avoir n combinais Lister un répertoire [ par norton ] Bonjour à tous, Voila ca fait un petit moment que je me prend la tête avec ce code [code=cpp] WIN32_FIND_DATA File; HANDLE hSearch; BOOL re; hSea Taille d'un CView pour impression A4 [ par universaliss ] Bonjour, Je suis actuellement bloqué dans le développement d'un petit programme en mode SDI. Je suis actuellement face à mon CView sur lequel je peu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales