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 :

"Tableau" avec plusieurs types de variables


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    46
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 46
    Par d�faut "Tableau" avec plusieurs types de variables
    Salut tout le monde,
    Je voudrai faire une sorte de tableau � 2 dimensions, mais qui ne contient pas un seul type de donn�es :
    En gros je voudrais un tableau "villesVoisines" qui contient � la premi�re colonne des objets "ville" et � la deuxi�me les distances qui s�parent la ville courante de la ville voisine de cette m�me ligne.
    Je vois pas trop comment faire �a, enfin si mais �a serait englober tout �a dans une classe et je pense qu'il y a plus simple, mais je vois pas trop... Des id�es?
    Merci d'avance et bonne soir�e � tous

  2. #2
    Membre chevronn�
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Par d�faut
    Faire deux tableaux � une dimension, ou utiliser une structure.
    Mais conceptuellement, tu ferais mieux de cr�er une classe pour tes villes, et je crois bien que tu devrais lorgner vers ce qui existe en mati�re de graphes : ton probl�me se traduit tr�s bien en graphes (m�me si c'est un graphe lin�aire pour le moment, si j'ai bien compris) et �a serait plus �volutif.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    46
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 46
    Par d�faut
    La conception je connais pas donc �a m'�tonne pas trop ce que tu me dis
    en fait j'ai une classe CGraph qui est en gros un vector de CNode, et ce CNode doit avoir une liste de ses "successeurs" avec leurs distances. Si il y a moyen de faire mieux que �a... je suis preneur.
    Merci de ta r�ponse

  4. #4
    Membre chevronn�
    Inscrit en
    Novembre 2006
    Messages
    362
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par d�faut
    Salut,

    Tu y es presque ! Dans l'esprit c'est pas mal.

    Tu peux par exemple faire que chaque CNode poss�de non-pas un vecteur de CNode, mais un vecteur de CLink.

    Et tu d�finit CLink comme �tant une classe qui contient une distance et un pointeur de CNode.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     ________
    |  CNode |         _______
    |--------|        | CLink |
    | CLink1 |        |-------|          _______
    | CLink2-+---->   |  30 m |         | CNode |
    | CLink3 |        | CNode-+---->    |  ...  |
    |  ...   |        ---------         ---------
    ----------
    Avec cela tu auras d�j� fait des premiers pas en conception tout � fait probants.


    Apr�s, ce n'est pas la "plus belle" fa�on de faire un graphe.

    Notament, cela pose un certain nombre de probl�mes d'int�grit� (ne serait ce que parce que les liens ne vont que dans un sens et que tu peux te retrouver avec des contradictions interne, comme ceci :

    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
     
     ________
    |  Nimes |       _______
    |--------|      | CLink |
    | CLink1-+----> |-------|      ________
     --------       | 32 km |     |  Ales  |
          ^         | CNode-+---->|--------|
          |          -------      |        |
          |                   ----+-CLink1 |
          |     _______       |    --------
          |    | CLink | <----
          |    |-------|
          |    | 28 km |
          -----+-CNode |
                -------
    ou plus simplement ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     ________
    |  Nimes |       _______
    |--------|      | CLink |
    | CLink1-+----> |-------|      ________
     --------       | 32 km |     |  Ales  |
                    | CNode-+---->|--------|
                     -------      |        |
                                   --------
    En fait dans un vrai bon mod�le, tu te d�brouille pour qu'il ne soit pas possible de cr�er des contradictions, et tu n'as pas � surveiller en permanence que �a se passe bien.

    Tu peux dors-et-d�j� r�fl�chir � ces probl�mes, o� simplement coder de la fa�on dont tu le con�oit. Dans les deux cas, c'est un pas en avant.

    Bonen chance

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    46
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 46
    Par d�faut
    merci beaucoup

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 12/08/2011, 18h58
  2. un tableau avec plusieurs types
    Par boumacmilan dans le forum Langage
    R�ponses: 6
    Dernier message: 31/03/2010, 07h00
  3. Probl�me avec les types de variable
    Par binhjuventus dans le forum C++Builder
    R�ponses: 2
    Dernier message: 13/07/2006, 12h30

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