C ++ resultado incorrecto de expresión matemática [cerrado]

Tengo que calcular alguna expresión matemática simple, pero cuando lo hago en una fila, el resultado siempre será cero. Pero el resultado correcto obviamente no es cero. Y es interesante, pero cuando separo las partes de la expresión, obtengo la respuesta correcta. Más adelante me dividiré con este resultado, por lo que no debería ser 0.

La expresión es así:

(X-X1)/(X2-X1)

En este caso eldelta: 0

double delta = (x - x1) / (x2 - x1);

Pero de esta manera eldelta será correcto:

double top = x - x1;
double bottom = x2 - x1;
double delta = top/bottom;

¿Tienes alguna idea, cómo podría pasar esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta