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
Code : Sélectionner tout - Visualiser dans une fenêtre à part function Calculer_Pourcentage_Commun(AIndex_X,AIndex_Y: integer): double;PS : j'ai essayé de modifier mon code en ceci :
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 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;
Ca plante alors sur la dernière ligne.
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 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;
Partager