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++Builder Discussion :

Comment initialiser un tableau de struct ?


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2002
    Messages : 16
    Points : 22
    Points
    22
    Par défaut Comment initialiser un tableau de struct ?
    bonjour,

    pour une appli de rech-op, je veux initialiser un tableau de struct (arc) comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef struct { int b; int e; int v; int c; } arc;
    dans mon WINMAIN:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arcs=(arc *)malloc(50*sizeof(arc));
    et moi je veux avoir pour l'init (sauf que ça veut pas !!) quelque chose genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
           arc arcs[1]  = { 1 , 2 , 10 , 0 };
           arc arcs[2]  = { 1 , 3 , 5  , 0 };
           arc arcs[3]  = { 2 , 3 , 2  , 0 };
           arc arcs[4]  = { 3 , 2 , 3  , 0 };
           arc arcs[5]  = { 2 , 4 , 11 , 0 };
           arc arcs[6]  = { 3 , 4 , -5 , 0 };
           arc arcs[7]  = { 4 , 5 , -4 , 0 };
           arc arcs[8]  = { 5 , 4 , 51 , 0 };
           arc arcs[9]  = { 3 , 5 , -2 , 0 };
           arc arcs[10] = { 5 , 1 , 7  , 0 };
    (erreurs de compilation: "multiple declaration" / "earlier declaration" )

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                 arcs = {   { b:1 , e:2 , v:10  , c:0 },
                            { b:1 , e:3 , v:5   , c:0 },
                            { b:2 , e:3 , v:2   , c:0 },
                            { b:3 , e:2 , v:3   , c:0 },
                            { b:2 , e:4 , v:11  , c:0 },
                            { b:3 , e:4 , v:-5  , c:0 },
                            { b:4 , e:5 , v:-4  , c:0 },
                            { b:5 , e:4 , v:51  , c:0 },
                            { b:3 , e:5 , v:-2  , c:0 },
                            { b:5 , e:1 , v:7   , c:0 } };
    (erreurs de compilation: "expression syntax" )


    PS: je précise quand même que mon appli marche très bien avec la méthode "traditionnelle" suivante (la valeur "c" n'est pas le plus important à ce stade):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
           arcs[1].b=1; arcs[1].e=2; arcs[1].v=10;
           arcs[2].b=1; arcs[2].e=3; arcs[2].v=5;
           arcs[3].b=2; arcs[3].e=3; arcs[3].v=2;
           arcs[4].b=3; arcs[4].e=2; arcs[4].v=3;
           arcs[5].b=2; arcs[5].e=4; arcs[5].v=11;
           arcs[6].b=3; arcs[6].e=4; arcs[6].v=-5;
           arcs[7].b=4; arcs[7].e=5; arcs[7].v=-4;
           arcs[8].b=5; arcs[8].e=4; arcs[8].v=51;
           arcs[9].b=3; arcs[9].e=5; arcs[9].v=-2;
          arcs[10].b=5;arcs[10].e=1;arcs[10].v=7;
    merci par avance...

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Points : 578
    Points
    578
    Par défaut
    Hello,

    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
    arc arcs[10] =  // ou arc arcs[]
    {
       { 1 , 2 , 10 , 0 },
       { 1 , 3 , 5  , 0 },
       { 2 , 3 , 2  , 0 },
       { 3 , 2 , 3  , 0 },
       { 2 , 4 , 11 , 0 },
       { 3 , 4 , -5 , 0 },
       { 4 , 5 , -4 , 0 },
       { 5 , 4 , 51 , 0 },
       { 3 , 5 , -2 , 0 },
       { 5 , 1 , 7  , 0 }
    };
    Mais adieu le malloc

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2002
    Messages : 16
    Points : 22
    Points
    22
    Par défaut [résolu]
    c'était bien ça...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/01/2008, 15h48
  2. Comment initialiser un tableau ?
    Par Nebelmann dans le forum WinDev
    Réponses: 10
    Dernier message: 21/02/2007, 15h02
  3. Réponses: 7
    Dernier message: 30/01/2007, 09h48
  4. Réponses: 5
    Dernier message: 11/05/2006, 14h15
  5. Réponses: 35
    Dernier message: 14/02/2006, 18h57

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