Показать сообщение отдельно
  #2  
Старый 30.11.2011, 22:08
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

я предположил что проблема в round(k)
т.к.
Цитата:
Округление использует банковские правила, где точная половина значения вызывает округление к четному числу
и заменил её вот так
Код:
if Frac(k)>0.5 then n2:=k+1-Frac(k)
  else if (Frac(k)<0.5) or (Frac(k)=0.5) then n2:=k-Frac(k);
но так ошибка встречается еще раньше, в каком то "4" тесте программы =(
Ответить с цитированием