Вопрос № 180427: Помогите пожалуйста написать программу. Задание: Создать форму в которой должно быть реализовано следующая задача: Даны окружность x^2 + y^2 =R^2 и прямая y = ax + b. Проверить взаимное расположение кривых. Указать точки пересечения...
Вопрос № 180427:
Помогите пожалуйста написать программу.
Задание: Создать форму в которой должно быть реализовано следующая задача: Даны окружность x^2 + y^2 =R^2 и прямая y = ax + b. Проверить взаимное расположение кривых. Указать точки пересечения (точку касания), если такие имеются.
Отвечает cradlea (5-й класс) :
Здравствуйте, Azarov88! вот функция по нахождению координат по x
// a,b,R - соответственно пораметры которые вводятся в уравнении // ret - указатель на массив x-ов // функция возвращает 1 - при наличии пересечения графиков, 0 - при отсутствии пересечения int CalcPoint(int a, int b, int R, double * ret) {
double Disc=0; Disc=4*a*a*b*b-4*(a*a+1)*(b*b-R*R);// вычислить дискрименант if (Disc>=0)// проверить наличие действительных решений { *ret=(-(2*a*b)+sqrt(Disc))/2*(a*a+1);//
получить первый корень *(ret+1)=(-(2*a*b)-sqrt(Disc))/(2*(a*a+1));// получить второй корень return 1;// пересечения есть } return 0;// пересечений нет }
для того чтобы найти координату по y нужно поставить в выражение y=ax+b полученные значения x
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.