Bonjour
j'ai fait le programme suivant:
comme vous le voyez, j'ai fait un objet Struct qui correspond à
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; }
ceci:Il s'agit d'un couple.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct couple{ double x; double y; };
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
Partager