salut,
je suis en train de creer un prog en c/c++ et j'ai un problemme au niveau de l'execution. je ne vous explique pas le but du projet ni la signification des variables c'est trop long...
je vous montre mon code, ce n'est que le debut du projet:
le problemme est ici:
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 #include <stdlib.h> #include <stdio.h> #include <SDL/SDL.h> struct Couleur { int r,g,b; SDL_Surface *rectangle; }; struct Pixel { int no_couleur; int est_physique; }; int main(int argc, char *argv[]) { //initialisation du tableau de couleurs Couleur couleurs[100]; for(int i=0;i<100;i++){ couleurs[i].r=-1; couleurs[i].g=-1; couleurs[i].b=-1; couleurs[i].rectangle=NULL; } //initialisation du tableau de pixels ( le problemme est ici!!! ) Pixel pixels[800][600]; for(int i=0;i<800;i++){ for(int j=0;j<600;j++){ (pixels[i][j]).no_couleur=-1; (pixels[i][j]).est_physique=0; } } //ecriture dans un fichier pour tester si les valeurs ont été bien ecrite ( c'est juste un test ça ne restera pas ) FILE* fichier = NULL; fichier = fopen("testvar.txt", "w"); for(int i=0;i<800;i++){ for(int j=0;j<60;j++){ fprintf(fichier,"%d,%d\n",(pixels[i][j]).no_couleur,(pixels[i][j]).est_physique); } } fclose(fichier); }
je creer un tableau de pixels de 800 par 600. tout compile parfaitement mais au moment de l'execution, ça plante!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //initialisation du tableau de pixels Pixel pixels[800][600]; for(int i=0;i<800;i++){ for(int j=0;j<600;j++){ (pixels[i][j]).no_couleur=-1; (pixels[i][j]).est_physique=0; } }
j'ai testé avec un tableau de pixels de 800 par 60 et la ça ne plante plus!
j'ai aussi testé avec un tableau d'entier de 800 par 600 et pareil ça ne plante plus.
je cherche a savoir pourquoi ça plante, p-e un problemme de memoire? de taille du tableau?
merci de vos reponses
Partager