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 :

Aide sur un algo entre 2 array


Sujet :

Algorithmes et structures de données

  1. #1
    Invité
    Invité(e)
    Par défaut Aide sur un algo entre 2 array
    Bonjour tout le monde !

    Je but à trouver un algo afficace et propre pour générer de façon automatique un séquence rythmé de façon précise par l'alternance de 2 valeurs tous les pas de 2.

    je pars de 2 array connus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // ou 9 n'est pas la valeur terminale, car c'est pour l'exemple, en fait cet
    // array n'ai jamais le même mais va toujours de 1 vers ....
    $MonArrayListe = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
     
    $MonArrayOption = array("A","B");
    A partir des ses 2 array, je dois en générer un troisième qui doit pour cet exemple me ressortir exactement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $MonArrayResult = array(
    			1 => "A",
    			2 => "B",
    			3 => "B",
    			4 => "A",
    			5 => "A",
    			6 => "B",
    			7 => "B",
    			8 => "A",
    			9 => "A"
    );
    Voilà ... des solutions un peu lourde sont envisageables mais n'étant pas un super matheux, je pense qu'il y a un solution éfficace via les algo sur les séries !

    Ah oui, petite précision, l'alternance de départ n'est pas A, A, B, B mais bien A, B, B, A, A etc...

    Merci pour votre aide !
    Dernière modification par Invité ; 03/03/2009 à 10h50.

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Bonsoir,

    Si tu veux un algorithme, ce n'est pas le bon forum
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  3. #3
    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
    Aux erreurs de syntaxe PHP près:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=0; $i<count($MonArrayListe); $i++) {
      $idx=$MonArrayListe[$i];
      $MonArrayResult[$idx] = $MonArrayOption[ floor($idx/2) % 2 ];
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Invité
    Invité(e)
    Par défaut
    merci je vais essayer ça

  5. #5
    Invité
    Invité(e)
    Par défaut
    et bien là tu m'as bluffé ! c'est exactement ça ! Merci beaucoup ! je vais maintenant l'adapter à mon vrai code !

    t'es un

  6. #6
    Invité
    Invité(e)
    Par défaut
    p'tite question bête ! mais le %2 dans le tableau il sert à quoi ?

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    En supposant que $MonArrayListe contienne des entiers, soit n l'une des valeurs :

    Si on a moyen de tester directement la valeur d'un bit (en fonction de son poids)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    si b1 de n vaut 0 alors "A"
    si non "B"
    Si non tester avec un masque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    si (n & 2) vaut 0 alors "A"
    si non "B"
    Après c'est une question d'implémentation !
    Chez moi, par exemple, ça donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    R[i] = P[ ( (N[i] & 2)==0 ) ];
    A plus !

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par liandri Voir le message
    p'tite question bête ! mais le %2 dans le tableau il sert à quoi ?
    % c'est l'opérateur "modulo"

    là cela veut dire pair ou impair : si c'est pair, ça donne 0. Si c'est impair, ça donne 1...

  9. #9
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    La séquence optimisée peut aussi se penser comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    n = N[i];
    n = (n >> 1) & 1;
    R[i] = P[n];
    A plus !

  10. #10
    Invité
    Invité(e)
    Par défaut
    mouarf je suis loin d'avoir la compétence pour arriver à ce genre d'algo ! en tout cas ! vive les maths ! lol

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

Discussions similaires

  1. [MLD] Aide sur une modélisation entre tables
    Par dd_angel dans le forum Schéma
    Réponses: 7
    Dernier message: 20/08/2010, 16h07
  2. Besoin d'aide sur les relations entre mes tables
    Par Jenojen dans le forum Bases de données
    Réponses: 102
    Dernier message: 06/09/2008, 12h27
  3. aide sur les algos
    Par moufky dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 18/06/2008, 17h25
  4. Aides sur les algos de gestion d'un cache ( un cache peut en cacher un autre . . . )
    Par smyley dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 21/12/2007, 22h59
  5. Aide sur un exo d'algo
    Par sp4rr0ws dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 25/03/2007, 03h08

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