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 :

File d'attente C++


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 67
    Points : 61
    Points
    61
    Par défaut File d'attente C++
    comment faire une file d'attente en c++
    dont on peut entrer plusieru elements dont l'utilisateur doit choisir le nombres des elements a entrer ....
    et l'utilisateur doit entrer un numero pour chaque element entrer
    apres ca il faut afficher les elements entrer avec leur numero MOIN DEUX! jusqua le numero attein zero ( l'element dont son numero atteint zero doit s'eliminer ) AIDER MOI SVP MERCI!
    ex : si je rentre
    p1 (5)
    p2 (4)
    p3 (3)

    je dois afficher

    p1 (3)
    p3 (1)
    p2 ( 2 )

    p2 (eliminer )
    p1 (1)
    p3( eliminer)


    JARRIVE PAS A REALISERRR
    Bassel EL-BIZRI

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Les fautes d'orthographe (qui font mal aux yeux) mises à part, je ne comprends pas pourquoi tu dois utiliser des files d'attentes?

    Peux tu mettre plusieurs éléments dans chacune de tes files? Si oui, dès qu'un des éléments d'une file arrive à 0 (ou moins?), la file est éliminée ou juste l'élément?

  3. #3
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    salut, il va falloir t'expliquer un peu mieux là je crois même si à priori d'après le nom et l'heure du post ce n'est pas dit que tu sois de nos contrées.
    Comment ça se passe ton bazar ? Est-ce que l'ordinateur demande uniquement le numéro des éléments du style :
    Entrer le numéro pour p1 :
    5
    Voulez-vous continuer (O/N) ?
    O
    Entrer le numéro pour p2 :
    4
    Voulez-vous continuer (O/N) ?
    O
    Entrer le numéro pour p3 :
    3
    Voulez-vous continuer (O/N) ?
    N
    puis première boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    p1 (3) 
    p3 (1)
    p2 ( 2 )
    seconde boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    p2 (eliminer )
    p1 (1) 
    p3( eliminer)

    Précise mieux ce que tu veux.
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 67
    Points : 61
    Points
    61
    Par défaut
    En effet MacPro !
    c'est ca que je veux! ET COMMENT FAIRE CA??
    Bassel EL-BIZRI

  5. #5
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    salut, je te propose une première et dernière solution sur laquelle je ne passerais pas plus de temps. Elle a ses limites dans les types utilisés, ne fait aucune vérification, est une sorte de mixte C/C++ dans l'idée, utilise des variables globales, fais des allocations dynamiques sans libérer ensuite, modifie la clé des entrées de Map et pas uniquement leur valeur ... mais elle fait ce que tu veux. A toi de t'inspirer, adapter, corriger.

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <map>
    #include <ctype.h>
     
    using namespace std;
     
    //----- Global variables -----//
    map<string*, int> elements;  // conteneur pour les éléments avec leur nom (key) et leur valeur (value)
    unsigned int elementsAlreadyAtZero = 0;
     
    //----- Prototypes -----//
    void askUserForValue(void);
    void displayResults(void);
    void computeWeirdStuff(void);
     
     
     
    //---------------------------------------------------------------------- main
    int main()
    {
        askUserForValue();
        while(elementsAlreadyAtZero != elements.size())
        {
            computeWeirdStuff();
            displayResults();
        }
     
        return 0;
    }
     
     
    //---------------------------------------------------------------------- askUserForValue
    void askUserForValue(void)
    {
        unsigned int i = 0; // compteur
        char answer = 'y';    // store the user's answer
        while(answer == 'y')
        {
            int value;
            ostringstream oss;
            cout << "Please enter value for p" << i << " : "; // ask value
            cin >> value;                                       // store value
            oss << "p(" << i << ")";                            // Build the string to store as a key
            if(value <= 0)
            {
                value = 0;
                oss << " dismissed";
                elementsAlreadyAtZero++;
            }
            elements[new string(oss.str())] = value;                        // insert new element in map
            cout << "Do you want to continue ? (Y/N) : ";     // continue or not ?
            cin >> answer;                                      // store answer
            answer = tolower(answer);
            i++;
        }
    }
     
     
    //---------------------------------------------------------------------- displayResults
    void displayResults(void)
    {
        map<string*, int>::iterator it;
        cout << endl;
        for(it = elements.begin() ; it != elements.end(); it++ )
        {
            string* key = (*it).first;
            cout << key->c_str() << " => " << (*it).second << endl;
        }
    }
     
     
    //---------------------------------------------------------------------- computeWeirdStuff
    void computeWeirdStuff(void)
    {
        map<string*, int>::iterator it;
        int value;
        for(it = elements.begin() ; it != elements.end(); it++ )
        {
            value = (*it).second - 2;
            if(value == -2)
            {
             // element already processed
                continue;
            }
     
            if(value <= 0)
            {
                value = 0;
                elementsAlreadyAtZero++;
                string* key = (*it).first;
                key->append(" dismissed");      // kludge : should not modify the string just like that
            }
     
            (*it).second = value;   // set the value to 0
        }
    }
    Le résultat sur la console étant :

    guest@debian:~/temp/napi15/bin/Debug$ ./napi15
    Please enter value for p0 : 5
    Do you want to continue ? (Y/N) : y
    Please enter value for p1 : 4
    Do you want to continue ? (Y/N) : y
    Please enter value for p2 : 3
    Do you want to continue ? (Y/N) : n

    p(0) => 3
    p(1) => 2
    p(2) => 1

    p(0) => 1
    p(1) dismissed => 0
    p(2) dismissed => 0

    p(0) dismissed => 0
    p(1) dismissed => 0
    p(2) dismissed => 0
    guest@debian:~/temp/napi15/bin/Debug$
    Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
    Besoin d'un photographe de mariage : http://www.triangle-photo.fr

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 67
    Points : 61
    Points
    61
    Par défaut
    De tout le fond de mon coeur!
    MERCI beaucoup!!
    Bassel EL-BIZRI

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

Discussions similaires

  1. Gestion de files d'attente
    Par bounnitcharaf dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/09/2006, 18h34
  2. [Tableaux] créer une file d'attente en php
    Par gaetan.tranvouez dans le forum Langage
    Réponses: 12
    Dernier message: 01/06/2006, 18h49
  3. Mes emails restent en file d'attente sur mon serveur
    Par FredericB dans le forum Réseau
    Réponses: 3
    Dernier message: 26/10/2005, 10h04
  4. Gestion d'une file d'attente
    Par jesus144 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 22/09/2005, 19h58
  5. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12

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