j'ai une question a propos d'un message d'erreur qui m'est afficher a l'exécution d'un code C++ le message d'erreur est le suivant:
1) Qu'est ce que ça veut dire? 2) comment puis-je l'eviter et executer mo code correctement?Exception non gérée à 0x00839057 dans FirstReport1.exe : 0xC00000FD: Stack overflow.
sachant que ce que je veut de se code est de lire et de filtrer les données contenu dans un fichier texte (file6.txt).
Une autre question qu'est ce que je gagnerai en temps d'exécution si j'utiliserai les pointeurs surtout quand le fichier est de taille considérable ?
Merci d'avance.
le code est le 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 #include <iostream> #include <fstream> #include <ctime> #include <iomanip> using namespace std; const int width(10001); const int height(15); void main() { ifstream inputfile ("file6.txt"); ofstream outputfile ("outfile.txt"); ofstream filteredfile ("filteredfile.txt"); ofstream timefile ("time.txt"); clock_t tstart, tend; tstart = clock(); int i, x, y; double tab[height][width]; for (y=0; y<height; y++){ for (x=0; x<width; x++){ tab[y][x]=0; } } if (inputfile){ for (y=0; y<height; y++){ for (x=0; x<width; x++){ inputfile >> tab[y][x]; } } } if (filteredfile){ for (y=0; y<height-1; y++){ for (x=0; x<width-1; x++){ if (tab[y+1][x+1]==-9999 || tab[y+1][x+1]<20 || tab[y+1] [x+1]>1200) {tab[y+1][x+1]= 0;} filteredfile << tab[y][x] << '\t'; } } } tend = clock(); double time; time = double (tend-tstart)/CLOCKS_PER_SEC; timefile << time; }
Partager