![]() |
Неопознанный математический знак в с++
Пишу прогу по информатике на с++. есть такая функция:
Код:
void oval2(double xf, double yf) Код:
oval2(0,-40);зы: все переменные в double. |
у тебя начальное значение yf скока? если описано как int yf=0 то цикл не будет выполняться while(yf <= 0) потому что yf++; и сразу идет на break может я ошибаюсь))
|
дабл это не инт и почти никогда не равен целому числу после каких либо сложных операций. т.е. опреация dbl_Y == 0 не вернет тру если dbl_Y равен скажем 0.0001326, аппроксимируй до 0.00 0.000 0.0000 и тд, сморя какая точность нужна
|
а чему равны значения a и b?
|
yf = -40 это видно из вызова функции. a=23, b=38. я в си новичек, поэтому мог допустить ошибку.
2sn0w: а причем здесь int? тем более что я сравнивниваю больше-меньше. |
ты sqrt пытаешься из отрицательного числа брать :D
|
меня это тоже смущает и компилятор почему-то молчит, НО. я писал аналогичную прогу на дельфи с той же формулой работает как часы.
|
что значит смущает? это ошибка логики программы- и её стоит исправить, или ты из школы не усвоил, что извлекать арифметический корень можно не из отрицательных действительных чисел?
|
2sni4ok: для чистоты эксперимента: yf = -40, и в формуле все минусы на плюсы - тоже самое => проблема не в этом.
|
приведи конечный код всей программы со всеми обьявлениями.
|
| Время: 16:10 |