Решение полных и неполных квадратных уравнений.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Начал учить c++.
Вот сделал код для решения квадратных уравнений через дискриминант:
Так вот, можно ли как-то этот код написать «Проще», меньше размером?
И если да, то как?
Заранее спасибо!
А ты свою прогу тестировал? Или просто несколько раз запустил со случайными числами?
Например, вот три набора коэффициентов, с которыми прога работает неправильно:
Т.е. нужны дополнительные проверки.
Функция здесь не нужна. Все равно все переменные глобальные.
Но если делать «как правильно», то функция должна выглядеть примерно так:
Функция возвращает количество корней (от 0 до 2) или, допустим, -1, если заданы некорректные коэффициенты (напр. 0, 0, 1). Первые три аргумента — коэффициенты, последние два — возвращаемые значения корней. Расчеты лучше делать с типом double, а не float.
И убрать глобальные переменные.
В функции нужно убрать все повторяющиеся вычисления. Их надо делать один раз и сохранять результаты в локальных переменных. Это в данном случае мелочи, но не надо привыкать к индийскому коду.
Из функции убрать весь вывод на консоль. Функция что делает? Вычисляет корни квадратного уравнения? Вот пусть этим и занимается. А обработку результатов лучше вынести в вызывающий код (т.е. в данном случае в main).
Вопрос неправильно поставлен. Должно быть так: «можно ли как-то этот код написать правильно» ;)