vlad_123
Местный знаток
Еще раз повторяю - это не стандартный глюк - глюк, который тупо появляется из ниоткуда...
Это нормальное (но далеко не очевидное) поведение компилятора в случае если переменные типа int.
Делишь z на 100, и если z меньше 50 (наверное или 100) результат приводится к int, т.е. получается 0.
Потом уже на этот 0 и происходит второе деление.
В случае умножения int на double результат приводится к double, и второе деление происходит НЕ на 0.
Сам стал умножать переменные на 1.0 в расчетах, с тех пор как столкнулся с таким поведением.