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 :

question sur les Struct et les tableaux


Sujet :

C++

  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut question sur les Struct et les tableaux
    Bonjour
    j'ai fait le programme suivant:


    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
    int main(){
    	double correl=-0;
    	couple*  tab=new couple[100];
     
      	srand((int)time(NULL));
     
    	struct couple c;
     
    	for (int i=1;i<100;i++){
    	      double t1=rand()/ (double) RAND_MAX;
    	      double t2=rand()/ (double) RAND_MAX;
                  double t3=rand()/ (double) RAND_MAX;
    	      double param=40;
     
     	      double z1=erfc(2*t1-1)*pow(2,0.5);
                  double z2=erfc(2*t2-1)*pow(2,0.5);
     
    	      double m1=1,m2=0,m3=correl,m4=pow(1-correl*correl,0.5); 	     
                  double y1=m1*z1;
                  double y2=m3*z1+m4*z2;
                  double s=resolution(t3,param);
     
                  double x1=pow(param/s,0.5)*y1;
                 double x2=pow(param/s,0.5)*y2;
     
            	c.x=x1;
            	c.y=x2;
                   tab[i]=c;
    }
    comme vous le voyez, j'ai fait un objet Struct qui correspond à
    ceci:Il s'agit d'un couple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    struct couple{
    double x;
    double y;
    };
    Ce programme fait est une boucle for qui fait des calculs, puis les regroupe dans des couples, et enfin, chacun de ces couples est mis dans un tableau.
    A la fin, on a une matrice 100*2 en quelques sortes.

    Le problème est que c'est automatique si je ne demande pas de rentrer les couples dans les tableaux, mais par contre c'est bien plus long si je demande de faire: tab[i]=c, c'est a dire rentrer chaque couple dans chaque ligne du tableau.

    Pouvez vous m'expliquer pourquoi c'est si lent?
    merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Quand tu n'utilises pas les variables le compilateur est libre de tout virer, puisque ça sert à rien.
    Pour certaines raisons néanmons, l'utilisation d'allocation mémoire n'est généralement pas optimisée. Peut-être que si tu utilisais un tableau (ce qui serait d'ailleurs plus logique, vu que tu n'as aucune raison de faire de l'allocation dynamique) le code entier serait optimisé pour ne rien faire.

  3. #3
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    c'est ce qie j'ai fait merci

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

Discussions similaires

  1. Questions sur la compatibilité et les version de VB
    Par jam92400 dans le forum Discussions diverses
    Réponses: 22
    Dernier message: 08/04/2008, 16h19
  2. Réponses: 2
    Dernier message: 28/07/2007, 01h21
  3. 3 questions sur le web et les technologies associées
    Par amazircool dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 20/07/2007, 00h16
  4. Des questions sur le C et les jeux (et interfaces)
    Par straitch dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 02/07/2007, 17h21

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