Ирина Гизатова
Ирина Гизатова

Помогите найти ошибку в задаче ( delphi )

Writeln('vvedite koordinati vershin');
Readln(x1,y1,x2,y2,x3,y3);
d1:=Sqrt(sqr(x2-x1)+sqr(y2-y1));
d2:=Sqrt(Sqr(x3-x1)+sqr(y3-y1));
d3:=Sqrt(Sqr(x3-x2)+sqr(y3-y2));
t:=0;

If (d1*d1=d2*d2+d3*d3) or (d2*d2=d1*d1+d3*d3) or (d3*d3=d2*d2+d1*d1)
then begin
Writeln('verhsini zadani korrektno'); t:=1
end
else Writeln('vershini zadani ne korrektno');

Serik
Serik

У чисел с плавающей запятой есть предельная точность. sqr(sqrt(x)) может быть немного больше или меньше x. Поэтому сравнивай с какой-то точностью (а еще лучше - не считай корни, точность только возрастет) :
d1sq=sqr(x2-x1)+sqr(y2-y1);{квадрат первой стороны}
d2sq=...;
d3sq=...;
eps:=0.000001;
if (abs(d1sq-d2sq-d3sq)< eps ) or ...

Похожие вопросы
Помогите найти ошибку!
помогите с delphi, выводит ошибку. Как решить задачу?
Помогите найти ошибку в delphi.
Вопрос по Delphi, помогите найти ошибку в участке кода
Вопрос по Delphi, помогите найти ошибку в участке коде
Помогите найти ошибку (Delphi 7)
Помогите пожалуйста решить задачи по DELPHI 7.
помогите исправить ошибки в Delphi
Помогите найти ошибку в задаче с++
Помогите!! ! Задача по Delphi