Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Будьте аккуратны при написании программ для атомных станций и ядерных боеголовок с применением gcc :)
#define ROUND(num, denom) (((num) + (static_cast(denom)/2.0)))
или если совсем по православному
inline double ROUND(double p_num, const double p_denom)
{
return p_num + p_denom / 2.0;
}
ps: эту же функцию стоит применять при приведении double к int или к другому целочисленному типу, иначе так же получите проблемы. Поскольку число с плавающей точкой не округляется а обрезается до целой части при таком приведении.
Критическая ошибка gcc