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 :

Structure de donnée adéquate pour des événements


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Structure de donnée adéquate pour des événements
    Bonjour,

    Je débute en C++, donc prière de m'excuser pour toute bêtise que je pourrais éventuellement dire

    J'ai une classe "ordinateur" et chaque ordinateur contient "une liste, ou un tableau ou.." d’événements

    Je cherche la structure de données la plus adéquate pour stocker des événements ( pour chaque événement j'ai une donnée, l'heure de l’événement, et la minute à laquelle il s'est déclenché, donc int valeur, int heure et int minute).

    Je n'ai pas d'insertions au milieux, ni de modifications d’éléments, ni de suppression dans une position quelconque etc.. donc je privilégie tableau que liste pour l'instant!

    Je fais donc une autre classe qui contient un tableau d'ordinateurs, et chaque ordinateur contient un tableau d’événements? et événement je le déclare comme une structure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct monEvenement {
    	int valeur;
    	int heure;
    	int minute;
    };
    struct monEvenement tableau[100];
    Cela semble t-il correct?
    Excusez moi si je ne suis pas précis!
    Merci pour toute aide ou conseil

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 685
    Points
    685
    Par défaut
    Tu n'as pas besoin d'une taille fixe, utilise un std::vector (en fait, par défaut, tu peux souvent utiliser un std::vector)

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Pas de tableau à la C en C++, on n'est plus en 1980.

    si c'est des accès en LIFO => stack

    http://www.cplusplus.com/reference/stack/stack/

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Bonsoir,
    Merci pour votre aide, cela me fait vraiment plaisir,

    Comme je suis toujours débutant, j'ai vu plusieurs tuto qui parle de "vector" et de sa grande utilité, mais je n'ai pas le droit d'importer de bibliothèques pour l'instant, c'est pourquoi je travaille avec des tableaux à la main (je ferai attention au delete mémoire et l'allocation mémoire).

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 393
    Points : 685
    Points
    685
    Par défaut
    La STL n'est pas une bibliothèque, elle fait partie du C++. Utilise la

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Je te propose

    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
    #include<iostream>
     
     
    typedef struct s_monEvenement {
     
    // Operators
     
    public:
     
        friend std::ostream& operator<< (std::ostream& os, const s_monEvenement& ev) {
            os << "**********" << std::endl << "Valeur: " << ev.valeur << std::endl << "Heure : " << ev.heure << std::endl
               << "Minute: " << ev.minute << std::endl;
     
            return os;
        }
     
     
        s_monEvenement& operator= (const s_monEvenement& other) {
            if (this != &other) {
                valeur = other.valeur;
                heure  = other.heure;
                minute = other.minute;
            }
     
            return *this;
        }
     
     
    // Constructors
     
    public:
     
        s_monEvenement(unsigned int new_valeur = 0, unsigned int new_heure = 0, unsigned int new_minute = 0) :
            valeur(new_valeur), heure(new_heure), minute(new_minute) {}
     
        s_monEvenement(const s_monEvenement& other) : valeur(other.valeur), heure(other.heure), minute(other.minute) {}
     
     
    public: /* or private: */
     
        unsigned int valeur;
        unsigned int heure;
        unsigned int minute;
    } Evenement;
     
     
    int main(int argc, char* argv[])
    {
        Evenement ev1(5);
        Evenement ev2(5, 3);
        Evenement ev3;
     
        std::cout << ev1 << ev2 << ev3;
     
        ev3 = ev2;
        std::cout << std::endl << "After affectation" << std::endl << ev3;
     
        return 0;
    }

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/02/2012, 19h38
  2. Requête pour des évènements à venir
    Par arngrimur dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/10/2011, 15h42
  3. [Structure de données] Aide pour mise en place d'une structure de donnée
    Par HqSeO dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/06/2010, 17h05
  4. Files Mapping pour stocker des structures de données
    Par Targan dans le forum Débuter
    Réponses: 0
    Dernier message: 27/12/2007, 11h38
  5. [C++] quelle structure de donnée utiliser pour stocker des vertices ?
    Par johnnyjohnny dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 14/07/2007, 21h44

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