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 :

Randomize - non répété


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut Randomize - non répété
    Bonjours ,


    j'ai un soucis d'algo...

    1. j'ai un tableau avec des noms
    2. un commande qui déclenche un random.

    ce la doit générer plusieurs groupe de 2 personnes, mais lorsque que l'on réutilise la fonction les noms ne peuvent se retrouver un des noms avec lesquels ils ont déja été.

    je n'arrive pas à creer l'algo correspondant à ca.


    Avez vous une idée?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    il suffit que lorsque ton nom est généré, tu le compares aux noms existants et tant que c'est le cas, tu regenères

    The Monz, Toulouse

  3. #3
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    non ce n'est pas possible comme ca par exemple dans mon tableau j'ai:
    "A", "B", "C", "D"

    1. Random()
    A&B
    C&D

    2. Random()
    A&C
    B&D

    3. Random()
    A&D
    B&C

    voila
    la c'est facile mais quand il y a plus de 4 éléments dans le tableau ca devient plus compliqué...

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    en utilisant un dictionnaire pour stocker les resultast du random , il te sera facile de savoir si c'est ok....

    il suffit que tu utilises par exemple AB comme clé dans ton dictionnaire

    Ou alors, j'ai pas encore tout compris de ce que tu voulais faire

    The Monz, Toulouse

  5. #5
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    Je n'ai pas de dictionnaire.
    je fais un script pour Second Life, et il n'y a pas grand chose.
    j'ai les commandes basiques de boucles, et variables...

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    tu es dans quel langage ?

  7. #7
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    lsl (linden script language)

    Mais ce n'est pas une question de language, c'est une question d'algo

  8. #8
    Membre éprouvé Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    L'algo, tu l'a déjà (cf ton premier poste). Une facon de faire "sans dictionnary" :

    A chaque fois que tu génére une série de "couple" tu les stockes dans un coin.
    A la prochaine génération, pour chaque couple tu regardes si tu l'a deja généré dans ta liste "de sauvegarde", si oui tu annule ce couple et tu re tente une nouvelle génération, si non tu valide ce couple (et tu l'ajoute dans ta liste de sauvegarde).
    Le probleme : quand vas tu vider cette liste de sauvegarde qui va grossir à chaque appel (ou autrement dit, combien d'appel successif peut tu faire avant d'épuiser toutes les solutions).

    Par contre, pour cela, il faut que tu sois capable de stocker la liste des couples générés entre 2 appels (et ça, ça depend des possibilité du langage que tu utilises).


    Quand tu dis que tu as un problème d'algo, c'est pour la partie ci dessus (ne pas re-générer les même couples lors d'appels successifs) ? ou pour générer les couples lors d'un appel ?

  9. #9
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    Mon probleme est de ne pas regénérer les memes couple

  10. #10
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Tu peux conserver pour chaque lettre la liste des lettres qui peuvent encore lui etre associée.

    au départ: {A,B,C,D}

    Les pairs possible pour chaque lettres sont:
    A : [B,C,D]
    B : [A,C,D]
    C : [A,B,D]
    D : [A,B,C]

    - Tu fais ton randomize: (A & C), (B & D)

    - Tu testes que les pairs sont possibles:
    * C dans la liste de A: ok
    * B dans la liste de D: ok

    A : [B,D]
    B : [A,C]
    C : [B,D]
    D : [A,C]
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    oui mais la j'ai juste utilisé un exemple, en réalité il ya une petite 10aine de noms...

  12. #12
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Chaque fois que tu tires un nom, tu l'enleves de ton tableau. Si tu ne peux pas, tu copies d'abord le tableau (ou tu crees un tableau d'indices pour prendre moins de place qu'un tableau de chaines).

Discussions similaires

  1. Select random avec non équi-probabilité
    Par webrunner dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/06/2010, 21h29
  2. random non répétitif
    Par cre3000 dans le forum Débuter
    Réponses: 6
    Dernier message: 08/02/2010, 18h42
  3. [XL-2003] Image arrière plan non répété
    Par Baldor dans le forum Excel
    Réponses: 1
    Dernier message: 20/06/2009, 20h10
  4. Réponses: 1
    Dernier message: 26/04/2009, 14h06

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