Resultat erroné

[Résolu]
Signaler
Messages postés
10
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
3 juin 2008
-
Messages postés
10
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
3 juin 2008
-
bonjour tout le monde

je suis debutante dans la programmation et j'ai un probléme :
j'ai fait un programme et mon résultat en "entier" est juste par contre en "réel" la derniére valeur du tableau est erronée, et spécialement la derniére je sais pas pour quoi exactement la derniére , et puisque la suite du programme dépend de ce resultat donc tout le  resultat est erroné 
merci d'avance les amis

3 réponses

Messages postés
10
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
3 juin 2008

j'ai trouvé la solution le problemé c'était dans les chiffres arrondi et j'ai utilisé la procedure format
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

l'arrondi ?

tu peux nous montrer ton code + printscreen résultat parce que je te suis pas ac ton tableau
Messages postés
10
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
3 juin 2008

voici le code source:

ce prg fait : la saisit des chiffres dans l'edit pour ensuite les calculés dans un tableau et les affichés

var
i,x:integer;
l:string;
A,Cs,Ds: array [1..50]of string;
B,D,C:array[1..50]of extended;

begin

i:=1;
x:=1;
l[i]:=edit1.text+'#';
while l[i] <> '#' do {la saisit des données dans l'edit}
if l[i] <> '-' then
begin
repeat
A[x]:=A[x]+l[i];
i:=i+1;
until (l[i]='-') or (l[i]='#');
x:=x+1;
end
else
i:=i+1;

for i:=i to (x+1) do {convertion de l'édit1.text au réel}
B[i]:=strtofloat (A[i]);

for i:= 1 to (x-1) do
begin
C[1]:=B[1];
C[i+1]:=C[i]+B[i+1];
end;

for i:=i to (x+1) do {convertion de C au string}
Cs[i]:=floattostr (C[i]);

for i:= 1 to (x-1) do {Affichage}
edit2.text:=edit2.text+Cs[i]+'-';

for i:= 1 to (x-1) do
begin
D[1]:=C[x-1]-B[1];
D[i+1]:=D[i]-B[i+1];
end;

for i:=i to (x+1) do {convertion de C au string}
Ds[i]:=floattostr (D[i]);

for i:= 1 to (x-1) do {Affichage}
edit3.text:=edit3.text+Ds[i]+'-';

end.