Bonjour,
J'ai un tableau, dans lequel je dois tester si les chiffre du tableau sauf le dernier sont égaux au dernier chiffre de ce même tableau. C'est pour répérer une éventuelle périodicité dans un programme destiné à transformer les chiffre à virgule en chiffre à virgule binaire.
Donc lors du test rien ne marche.. après 1 petite heure de recherche d'erreur, j'ai trouvé ou se situe l'erreur. seulement j'y comprend plus rien.
C'est au moment du test:
x:=0;
while(x<i)do begin
if(tab[0][x]=tab[0][i])then finish:=true;
x=x+1;
end;
le i est le dernier chiffre du tableau employé, et le x est la valeur qui est incrémentée à chaque fois.
et lorsque c'était sensé passer true, cela continuait à chercher.
ne comprenant pas, j'ai mis des points de suivis sur tab[0][x] et sur tab[0][i] ainsi qu'un sur l'expression tab[0][x]=tab[0][i]
Et c'est de la que vient mon imcompréhension: tab[0][i] affiche 0,4 tab[0][x] fait de même, par contre l'expression me met false.
je me suis dis que c'était peut-etre comme sous java ou il faut faire des equals, mais même pas, car la c'est carrément le même objet qui est analysé les deux fois, mais bon dans le doute, j'ai transformé ma ligne de comparaison en: if(floattostr(tab[0][x])=floattostr(tab[0][i]))then finish:=true;
comme ca je compare bel et bien uniquement du texte. mais même résultat à la fin. je suis désespéré, et je sais franchement pas ou chercher...