Bonjour,
Voilà, je veux construire un tableau à trois dimensions de taille MT [100] [100] [500]. L’exemple suivant marche bien quand la taille est petite, MT [10] [10] [10] par exemple.
Mais avec de grand taille [100] [100] [500], le code se bloque (même quand on désactive l’affichage) au niveau de la ligne qui présente la déclaration du tableau :
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 #include<stdio.h> #include<math.h> #include<time.h> #include <sys/time.h> #define nbc 10 #define Taille_matrice 10 #define T0 200.5 void matrice(float (*MT)[nbc][Taille_matrice]) { int i,j,k; for (k = 0; k <Taille_matrice; k++) { for (i=0; i<nbc; i++) { for (j=0; j<nbc; j++) { MT[i][j][k]=T0; } } } } void matrice(float (*MT)[nbc][Taille_matrice]); int main() { clock_t tic = clock(); int i,j,k; float MT[nbc][nbc][Taille_matrice]; matrice(MT); for (k = 0; k <Taille_matrice; k++) { for (i=0; i<nbc; i++) { for (j=0; j<nbc; j++) { printf("%lf ", MT[i][j][k]); } printf("\n"); } printf("\n"); } clock_t toc = clock(); printf("Elapsed: %f seconds\n", (double)(toc - tic) / CLOCKS_PER_SEC); return 0; }
Avez-vous une idée c’est quoi le problème et comment on peut le résoudre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part float MT[nbc][nbc][Taille_matrice];
Merci
Partager