je sauvegarde les valeurs d'un tableau multidimensionel dans un fichier, que j'aimerai bien recharger dans le tableau. mais je constate quand je teste si tout ce passe bien qu'il y a un problème. les éléments du tableau sont de types réel (double). le constat est que une recharger dans le tableau la partie entier du réel est transformé en zéro s'il était strictement positif.
exemple:
valeurs que je sauvegarde
0.182443
0.91528
-0.0337707
4.68092
-1.22098
0.241877
0.0843247
1.51347
valeur contenu ds le tableau après avoir recharger.
0.182443
0.91528
-0.0337707
0.68092
-1.22098
0.241877
0.0843247
0.51347

voici le code:
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
 
void CBackProp::saveWeight(char * filename){
 
	int i,j,k;
	ofstream sypnaOutfile(filename, ios::out | ios::binary);
	if(!sypnaOutfile){
		    	cout<<"Impossible de créer le fichier"<<endl;
		    	exit(-1);
	}
	for(i=1;i<3;i++)
	        	for(j=0;j<lsize[i];j++)
	        	 	for(k=0;k<lsize[i-1]+1;k++){
	        	 		sypnaOutfile << weight[i][j][k];
	        	 		// weight[i][j][k]= (double)(rand())/(RAND_MAX/2) - 1;//32767
	        	 		//fichier >> weight[i][j][k];
	        	 		//outFile <<val;
	        	 		//cout<<weight[i][j][k]<<endl;
	        	 	}       
}
 
 
 
void CBackProp::loadWeight(char * filename){
 
	int i,j,k;
	ifstream sypnaInfile(filename, ios::in | ios::binary);
	if(!sypnaInfile){
	    	cout<<"Le fichier d'entrée n'existe pas"<<endl;
	    	exit(-1);
	}
	for(i=1;i<3;i++)
	        	for(j=0;j<lsize[i];j++)
	        	 	for(k=0;k<lsize[i-1]+1;k++){
	        	 		sypnaInfile >> weight[i][j][k];
	        	 		// weight[i][j][k]= (double)(rand())/(RAND_MAX/2) - 1;//32767
	        	 		//fichier >> weight[i][j][k];
	        	 		//outFile <<val;
	        	 		cout<<weight[i][j][k]<<endl;
	        	 	}	         
}
j'aimerai savoir d'ou vien le Problème.
merci d'avance.