Bonjour,

J'ai encore un problème, j'ai un tableau 2D contenant des températures, et je veux obtenir un nouveau tableau 2D qui doit contenir les valeurs indexées de mon premier tableau, c'est à dire des valeurs de 0 à 255 (0 pour la valeur minimale du premier tableau et 255 pour la valeur maximale) voici mon 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
41
 
min=data[0][0];
max=data[0][0];
k=0;
 
//on recupere le min et le max de data
for (i=0;i<nblig;i++)
   {
   for (j=0;j<nbcol;j++)
      {
      if (data[i][j]<min) min=data[i][j];
      if (data[i][j]>max) max=data[i][j];
      }
   }
 
printf("min : %g - max : %g\n",min,max);
 
//indexation
for (i=0;i<nblig;i++)
   {
   for (j=0;j<nbcol;j++)
      {
      data[i][j]=data[i][j]-min;
      data[i][j]=floor((255*data[i][j])/max);
      data_ind[i][j]=(unsigned char)(data[i][j]);
      }
   }
 
 
//controle du min et max de l'index  
min_ind=data_ind[0][0];
max_ind=data_ind[0][0];   
for (i=0;i<nblig;i++)
   {
   for (j=0;j<nbcol;j++)
      {
      if (data_ind[i][j]<min_ind) min_ind=data_ind[i][j];
      if (data_ind[i][j]>max_ind) max_ind=data_ind[i][j];
      }
   }  
printf("min_ind : %g - max_ind : %g\n",min_ind,max_ind);
"data" est de type double **

Malheureusement il ne fonctionne pas, le premier printf qui me permet de contrôlé la valeur min et max me donne :

min : 226.22 - max : 301.83
ce qui est tout à fait juste, mais le deuxième printf qui me permet de contrôler la valeur min et max de l'index me renvoi :

min_ind : 0 - max_ind : 63
J'en déduis logiquement que je me suis gouré dans mon code d'indexage...