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 :

Regroupage par paquet


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 19
    Par défaut Regroupage par paquet
    Bonjour,

    j'ai plusieurs élements (en nombre aléatoire) que je dois regrouper. Ces élements sont : 75A à 75Q.
    J'ai un tableau remplit avec ces élements (il peut y avoir plusieurs 75A , 75C etc) et je cherche donc à faire des paquets de 75A à 75Q. Autrement dit avoir quelquechose du genre 75A 75B 75C....75A 75B 75D...
    Je ne sais pas trop comment m'y pendre... Quelqu'un pourrait m'aider ?

  2. #2
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 17
    Par défaut
    si je comprends bien, tu peux avoir des 75a et des 75q, des 75d dans n'importe quel ordre, n'importe comment ?

    je te conseille donc de garder ce tableau, et ensuite, tu définis :

    struct ELEM
    {
    nom de l'element
    nombre d'elements
    pointeur * nombre d elements
    }

    ELEM [nombre d'elements differents (de 75A a 75Q, ça doit etre ~20)] tab

    dans un premier temps, tu comptes chaque 75A, chaque 75B, etc...
    tu remplis pour tout i les
    ELEM[i].nombredelems
    tu peux mettre le nom aussi dans ELEM[i].nomelem

    et apres, tu poses les pointeurs sur des elements de ton tableau mere...

    Ainsi, tu peux gérer rapidement les groupes, sans tout casser ton tableau de départ

  3. #3
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 19
    Par défaut
    Non j'ai des elements 75A -> 75Q (de A à Q) dans le désordre et je veux les regrouper par paquet de A à Q, en gros je veux avoir dans un tableau un premier groupe 75A->75Q, un deuxieme groupe 75A->75Q. Autrement dit un premier groupe dans l'ordre alphabétique (sans doublon) et un deuxieme dans l'ordre alpha (sans doublon) etc...

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 37
    Par défaut
    Peux-tu avoir, par exemple, 10 fois 75A, ..., 10 fois 75P et 2 fois 75Q ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Par défaut
    je ne comprend pas vraiment ce que tu ve comme paquets (je dois etre bete )

    par exemple tu as la suite 75a-75c-75b-75e-75d-75d-75f-75g-75a-75c-75d-75l-75q

    comment seront organisés tes paquets?

    en: 75a-75c
    75b-75e
    75d
    75d-75f-75g
    75a-75c-75d-75l-75q ???
    crées tu un nouveau un paquet des que le suivant est < ou = au precedent?
    si oui le nouveau paquet commence t il a ce nouveau nombre ou tu reprend l otre en sautant le precedent de la sorte que tu es :
    75a-75c
    75a-75b-75e
    75a-75b-75d
    75a-75b-75d-75f ....
    ...

    donne un plus d'exemples concrets svp , ce serait simpa

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Salut
    Je pense que tu dois regrouper dans un tableau tous les 75A ensemble, tous les 75B ensemble etc...
    Puis tu parcours ton tableau et à chaque fois que tu peux tu préléves un élément dans chaque case jusqu'à épuisement.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut
    Citation Envoyé par Trap D
    Salut
    Je pense que tu dois regrouper dans un tableau tous les 75A ensemble, tous les 75B ensemble etc...
    Puis tu parcours ton tableau et à chaque fois que tu peux tu préléves un élément dans chaque case jusqu'à épuisement.
    et pour ce faire tu commences par trier ta liste (ordre lexico par ex). Puis tu pars du premier élément, et tant que tu ne changes pas de valeur tu remplis tes paquets P1,P2,...

    Dès que la valeur change, tu recommences à partir de P1.

    Ca va?

Discussions similaires

  1. Delete ordonné par paquets
    Par Erwin dans le forum SQL
    Réponses: 0
    Dernier message: 29/07/2008, 17h40
  2. [XSLT] Regroupement par paquet de N
    Par Gédéon dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/04/2008, 14h43
  3. [MySQL] Envoyer des e-mails par paquets de 80
    Par lababa dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/10/2007, 13h41
  4. [débutant]diviser une List par paquet
    Par pingoui dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 01/09/2007, 18h24
  5. TCP : Utilisation paquet par paquet plutot que flux
    Par dockurt2k dans le forum Développement
    Réponses: 6
    Dernier message: 12/01/2007, 11h03

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