IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Trouver toutes les combinaisons possibles


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué Avatar de Onimaru
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Turquie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2010
    Messages : 283
    Points : 129
    Points
    129
    Par défaut Trouver toutes les combinaisons possibles
    Salut à tous, je cherche l'algorithme qui permet d'afficher toutes les combinaisons possibles (n! n la taille du tableau) d'un tableau dynamique d'éléments quelconques.
    Merci.

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Aller au sous-forum mathématiques:
    http://www.developpez.net/forums/d96...ons-k-parmi-n/
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Membre habitué Avatar de Onimaru
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Turquie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2010
    Messages : 283
    Points : 129
    Points
    129
    Par défaut Combinaisons possibles :
    Salut à tous j'ai trouvé des solutions (ici en DELPHI) :

    (elle m'a été donnée).
    Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    procedure Combinaisons(var Vecteur, Combinaison : Tab; Niveau: integer);
    var I : integer;
    begin
     if Length(Vecteur) = 0 then
      AfficherVecteur(Combinaison)
     else
      for I := 0 to High(Vecteur) do
       begin
        Combinaison[Niveau] := Vecteur[I];
        Supprimer(Vecteur, I);
        Combinaisons(Vecteur, Combinaison, Niveau + 1);
        Inserer(Vecteur, I, Combinaison[Niveau])
       end
    end;
     
    (mon algorithme)
    procedure Combinaisons(var Vecteur : Tab; Niveau: integer);
    var I : integer;
    begin
     if Niveau = High(Vecteur) + 1 then
      AfficherVecteur(Vecteur)
     else
      for I := Niveau to High(Vecteur) do
       begin
        Permuter(Vecteur, Niveau, I);
        Combinaisons(Vecteur, Niveau + 1);
        Permuter(Vecteur, Niveau, I)
       end
    end;

    Il affiche toutes les combinaisons mais pas forcement dans l'ordre mais il est juste.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    java
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 9
    Points
    9
    Par défaut et-taousy
    merci pour ce code ça me servi bpq mrc

    Citation Envoyé par Onimaru Voir le message
    Salut à tous j'ai trouvé des solutions (ici en DELPHI) :

    (elle m'a été donnée).
    Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    procedure Combinaisons(var Vecteur, Combinaison : Tab; Niveau: integer);
    var I : integer;
    begin
     if Length(Vecteur) = 0 then
      AfficherVecteur(Combinaison)
     else
      for I := 0 to High(Vecteur) do
       begin
        Combinaison[Niveau] := Vecteur[I];
        Supprimer(Vecteur, I);
        Combinaisons(Vecteur, Combinaison, Niveau + 1);
        Inserer(Vecteur, I, Combinaison[Niveau])
       end
    end;
     
    (mon algorithme)
    procedure Combinaisons(var Vecteur : Tab; Niveau: integer);
    var I : integer;
    begin
     if Niveau = High(Vecteur) + 1 then
      AfficherVecteur(Vecteur)
     else
      for I := Niveau to High(Vecteur) do
       begin
        Permuter(Vecteur, Niveau, I);
        Combinaisons(Vecteur, Niveau + 1);
        Permuter(Vecteur, Niveau, I)
       end
    end;

    Il affiche toutes les combinaisons mais pas forcement dans l'ordre mais il est juste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/01/2015, 15h41
  2. [XL-2010] Trouver toutes les combinaisons possibles de plusieurs mots
    Par Faneos dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2012, 19h17
  3. Comment trouver toutes les combinaisons possibles ?
    Par [ZiP] dans le forum Débuter
    Réponses: 9
    Dernier message: 26/04/2011, 13h54
  4. Trouver toutes les combinaisons possibles de plusieurs tableaux
    Par divayht dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 23/08/2010, 20h56
  5. toutes les combinaisons possibles
    Par marocleverness dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 29/05/2006, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo