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

C++ Discussion :

Découper des tableaux


Sujet :

C++

  1. #1
    Membre confirmé
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Par défaut Découper des tableaux
    Bonjour,

    Je sollicite votre aide pour résoudre un problème.
    Supposant que j'ai un ensemble de sommets qui sont répartis dans différents véhicules. Exemple : (Tournée est un tableau à deux dimensions) Le nombre de sommets est stocké dans un tableau Tournée 1 : 4-3-5
    Tournée 2 : 2-1-6
    Tournée 3 : 7-11-14
    Tournée 4 : 9-10-13-8
    Tournée 5 : 22-19
    Tournée 6 : 24-16
    Tournée 7 : 12-18-14

    Je souhaiterai faire des coupes aléatoirement dans chaque Tournée (on ne contrôle pas le nombre de sommets dans chaque groupe) de telle sorte que je ne dois pas dépasser un nombre (X = 10 par exemple).

    Si on prenant la valeur X=10 on se retrouve avec cette répartition (Exemple)

    Tournée 1 : [4-3-5] : 1 seul groupe
    Tournée 2 : [2-1] [6] : 2 groupes
    Tournée 3 : [7] [11-14] : 2 groupes
    Tournée 4 : [9-10] [13-8] : 2 groupes
    Tournée 5 : [22-19] : 1 seul groupe
    Tournée 6 : [24-16] : 1 seul groupe
    Tournée 7 : [12-18-14] : 1 seul groupe

    En gros, ça fait 10 groupes.

    Merci d'avance pour votre aide.
    Cordialement.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par défaut
    Bonsoir,

    où en es-tu de la réflexion et/ou du code et où bloques-tu ?
    Puisque ça semble être un découpage strictement aléatoire, quel est le problème ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre confirmé
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Par défaut
    Bonjour,

    Le problème est résolu.

    Merci.

    Citation Envoyé par Bousk Voir le message
    Bonsoir,

    où en es-tu de la réflexion et/ou du code et où bloques-tu ?
    Puisque ça semble être un découpage strictement aléatoire, quel est le problème ?

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    j'aimerai bien en savoir un peu plus sur la solution adoptée, tu peux nous en dire plus?

  5. #5
    Membre confirmé
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Par défaut Solution
    Citation Envoyé par leternel Voir le message
    j'aimerai bien en savoir un peu plus sur la solution adoptée, tu peux nous en dire plus?
    Bonjour,

    Voici le pseudo code qui décrit brièvement la solution adoptée
    Code : 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
    31
    32
    33
    34
    pseudo code
    1. Initialiser le nombre de groupes souhaité construire : (X à définir)
    2. Donner des nombres aléatoires de groupes.
    // construction des groupes
    parcourir toutes les tournees sauf l'ecart (ni-1)
    {
         if le nombre de taches est superieur a zero
         affecter au minimum un groupe
         mettre a jour le nombre de groupes restants
    }
    while le nombre de groupes restants n'est pas atteint
    {
         if le nombre de groupe dans chaque tournee est inferieur aux nombres de taches dans chauqe groupe
         affecter les groupes pour les taches restantes
         mettre a jour le nombre de groupes restants
    }
    3. Diviser les taches sur les groupes
    // boucle sur toutes les tournees
    {
         initialiser la variable somme = nombre de taches
         // boucle sur l'ensemble des groupes
         {
              mettre a jour le nombre de taches restants
         }
         while le nombre de taches est tjrs superieur a zero
         {
              if le nombre de groupe restant et superieur a zero
                   choisir aléatoirement un groupe dans une tournee i
              else
                   mettre a jour le tableau des taches inserees dans le groupe
                   et mettre a jour le nombre de taches restantes
         }
    }
    }
    à noter que la dernière tournée contient des tâches qui ne sont pas servies et que chacune de ces tâches tirées aléatoirement prennent un seul groupe à décompter parmi les X fixé dés le départ.

    Cordialement.

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Merci bien!
    Bonne continuation à toi

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/09/2004, 21h25
  2. ajouter à la suite des tableaux
    Par vic_cw dans le forum C++
    Réponses: 9
    Dernier message: 22/08/2004, 15h11
  3. [OPENOFFICE] Transformation des tableaux OOo en HTML
    Par GrandFather dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 15/05/2004, 18h00
  4. Réponses: 2
    Dernier message: 19/08/2003, 18h04
  5. free sur des tableaux "a moitié dynamiques"
    Par barthelv dans le forum C
    Réponses: 4
    Dernier message: 31/07/2003, 15h30

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