Bonjour,
Voilà... je m'arrache les cheveux sur une erreur.
La fonction suivante me retourne une erreur de virgule flottante qui se déclenche à l'étape "result := result+1".
arr_Index_E_Evaluation est un tableau d'entier.
arr_Donnees est un tableau à 2 dimensions de double.
Si quelqu'un voulait bien prendre soin de mes cheveux. Merci d'avance 
function Calculer_Pourcentage_Commun(AIndex_X,AIndex_Y: integer): double;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function Calculer_Pourcentage_Commun(AIndex_X,AIndex_Y: integer): double;
var
i,Index_E: integer;
begin
result := 0.0;
if Length(arr_Index_E_Evaluation)=0 then
exit;
for i := 0 to High(arr_Index_E_Evaluation) do
begin
Index_E := arr_Index_E_Evaluation[i];
if not isNaN(arr_Donnees[AIndex_X,Index_E]) and not isNaN(arr_Donnees[AIndex_Y,Index_E]) then
result := 1.0+result;
end;
result := result/High(arr_Index_E_Evaluation);
end; |
PS : j'ai essayé de modifier mon code en ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function Calculer_Pourcentage_Commun(AIndex_X,AIndex_Y: integer): double;
var
i,Index_E,Compte: integer;
begin
Compte:= 0.0;
result := 0.0;
if Length(arr_Index_E_Evaluation)=0 then
exit;
for i := 0 to High(arr_Index_E_Evaluation) do
begin
Index_E := arr_Index_E_Evaluation[i];
if not isNaN(arr_Donnees[AIndex_X,Index_E]) and not isNaN(arr_Donnees[AIndex_Y,Index_E]) then
Compte:= 1+Compte;
end;
result := Compte/High(arr_Index_E_Evaluation);
end; |
Ca plante alors sur la dernière ligne.
Partager