2.
C |
1
| x_FractionalPart = x - floor (x); |
|
Если препод окажется более-менее шарящим, то он скажет, что такой код для отрицательных чисел не подойдёт, в этом случае надо добавить код:
C |
1
2
| if (x < 0)
1.0 - x_FractionalPart; |
|
Это из-за того, что у floor округление всегда делается в меньшую (по значению) сторону, а потому для отрицательных чисел меньшая сторона удаляет число от нуля
Добавлено через 52 секунды

Сообщение от
S_A_L
2)
double x =4.7;
double x_FractionalPart = x - int(x)
Проблема с этим кодом такая, что для больших чисел приведение к int'у будет с потерей точности. Правда студентам об этом задумываться не положено, а потому такой вариант сойдёт