Информация об изменениях

Сообщение Re[5]: Загадочная точка от 25.07.2015 21:31

Изменено 25.07.2015 21:46 omgOnoz

Здравствуйте, olimp_20, Вы писали:

_>Не могу найти ошибки.

_>Для х:
_>A1x+B1y+C1=0 и A2x+B2y+C2=0
_>определитель в знаменателе:
_>A1*B2-A2*B1
_>определитель в числителе
_>-С1*B2-B1*(-С2) = -С1*B2+B1*С2 = B1*С2-С1*B2 = -(С1*B2-B1*С2) то естть то же, что и на сайте..
_>если нет, то где я ошибся?

Я не уверен в каком порядке происходит преобразования int в double.

тут
double x = -1.0*(C1*B2-C2*B1)/det;
double y = -1.0*(A1*C2-A2*C1)/det;
если первым посчитается (C1*B2-C2*B1)/det и/или (A1*C2-A2*C1)/det — то получится херня (ибо целочисленное деление — остаток тю-тю).

Из примера с которого копипастил — все переменные имеют тип double.

Да и стоит ли умножать на -1.0 — не уверен, что с типом double — это хорошая идея, может добавить дополнительную погрешность.
Re[5]: Загадочная точка
Здравствуйте, olimp_20, Вы писали:

_>Не могу найти ошибки.

_>Для х:
_>A1x+B1y+C1=0 и A2x+B2y+C2=0
_>определитель в знаменателе:
_>A1*B2-A2*B1
_>определитель в числителе
_>-С1*B2-B1*(-С2) = -С1*B2+B1*С2 = B1*С2-С1*B2 = -(С1*B2-B1*С2) то естть то же, что и на сайте..
_>если нет, то где я ошибся?

Я не уверен в каком порядке происходит преобразования int в double.

тут
double x = -1.0*(C1*B2-C2*B1)/det;
double y = -1.0*(A1*C2-A2*C1)/det;
если первым посчитается (C1*B2-C2*B1)/det и/или (A1*C2-A2*C1)/det — то получится херня (ибо целочисленное деление — остаток тю-тю).

Из примера с которого копипастил — все переменные имеют тип double.

Да и стоит ли умножать на -1.0 — не уверен, что с типом double это хорошая идея, может добавить дополнительную погрешность.