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

Langage PHP Discussion :

[Tableaux] Algorithme pour les combinaisons [Sources]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut [Tableaux] Algorithme pour les combinaisons
    Bonjour à tous,

    je voudrais creer une fonction qui donne toutes les combinaison possible de mots contenu dans un tableau.

    Par exemple j'ai:

    Tab[0]="a";
    Tab[1]="b";
    Tab[2]="c";
    Tab[3]="d";

    Je voudrais pouvoir récupérer :

    Res[0]="a b c d";
    Res[1]="a b d c";
    ....

    Et ceux pour toutes les combinaisons.

    Je n'arrive pas à imaginer un algorithme permettant de faire ca. Avez vous des idées?

  2. #2
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    les lettres peuvent-elles se répéter plusieures fois ?

    si c'est le cas, il te "suffit" de faire comme pour un cadenas de vélo :

    par exemple, tu as un tableau contenant les valeurs 1, 2, et 3.

    tu commence par la combinaison 1 1 1
    puis tu augmentes l'indice de ton tableau pour le dernier chiffre jusqu'à arriver à la longueur de ton tableau : 1 1 2 - 1 1 3

    une fois que tu en est là, tu décales d'un l'indice du deuxième chiffre, en reinitialisant le 3° : 1 2 1

    et là, tu relance ta boucle sur le 3°

    ça sent le récursif à plein nez ton histoire
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    au pire, même si les lettres ne peuvent se répéter, il te suffit de faire comme ça, puis de dégager les tableaux contenant des doublons... (pas forcément super propre, mais je voit pas mieux )
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #4
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Ouais malheuresement je dois éviter les doublons. En plus c'est pour créer une requette dynamiquement :/.

    C'est vraiment pas évident, d'autant plus que le nombre d'éléments peut varier.

    C'est vraiment tordu pour l'esprit tout ca

  5. #5
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    bah pour les doublons, suffit d'appliquer la deuxième solution (c'est pas JMMPP, mais je m'approche )
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre éprouvé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Par défaut
    Citation Envoyé par titoumimi
    bah pour les doublons, suffit d'appliquer la deuxième solution (c'est pas JMMPP, mais je m'approche )

    Je vais essayer de faire un truc pour voir mais je sais pas pourquoi je sent que ca va m'énerver lol.

    Je vous tient au courant.

  7. #7
    Membre averti

    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Billets dans le blog
    1
    Par défaut
    Tu peux crée un dictionnaire (un arbre)
    par exemple sabot, sabine, ca.
    Tu vas sur la lettre S, tu trouves un pointeur vers un arbre qui contient les deuxièmes lettres
    par exemple tu trouves sa, sabot, sabine.
    un flag te previens que tu peux pointer vers une troisieme lettre mais que tu as également une feuille.
    et ainsi de suite.
    La recherche s'arrête lorsqu'il n'y a plus depointeurs vers un autre arbre.
    Chaque arbre est un tableau, avec, les lettres, les pointeurs vers le tableau suivant et les flags.
    Ce n'est pas très simple sans schéma.
    BA

Discussions similaires

  1. [Algorithme] Enumérer les combinaisons
    Par Flaburgan dans le forum Général Java
    Réponses: 6
    Dernier message: 04/07/2012, 16h41
  2. algorithmes pour les jeux du casino
    Par jonh8 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 29/03/2011, 05h04
  3. [OCILIB] Algorithme pour les nulls
    Par cobfly dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 19/05/2010, 13h54
  4. Algorithme pour les thematiques d'un texte
    Par redkan dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/04/2009, 13h59
  5. [Tableaux] Aide pour un algorithme sur les tableaux
    Par sara21 dans le forum Langage
    Réponses: 7
    Dernier message: 20/05/2007, 10h28

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