Вопрос № 105306: Добрый день.
Даны числа а,b,с,d,e,f. Напечатать координаты точки пересечения прямых, описываемых уравнениями a*х+b*y=c и d*х+e*y=f, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не существуют....
Вопрос № 105.306
Добрый день.
Даны числа а,b,с,d,e,f. Напечатать координаты точки пересечения прямых, описываемых уравнениями a*х+b*y=c и d*х+e*y=f, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не существуют.
Отправлен: 13.10.2007, 15:12
Вопрос задал: Ezhik (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vassea
Здравствуйте, Ezhik!
В приложении программа.
Первое и второе условия проверяют существование прямых (если все коэффициенты уравнения одновременно равны 0, то такая прямая не существует)
третье условие проверяет если прямые совпадают. Когда прямые совпадают, их соответствующие коэффициенты пропорциональны.
a/d=b/e=c/f
эти равенства можно записать в виде двух равенств
a/d=b/e a/d=c/f
Чтобы избежать возможного деления на ноль, преобразуем эти равенства по пропорции
a*e=b*d и a*f=c*d
Четвертое условие проверяет если прямые параллельны: тогда только соотв коэффициенты при переменных пропорциональны
a/d=b/e Преобразовываем также
пятое действие выполняется только в том случае, если все предыдущие условия не выполнялись
решаем систему двух линейных уравнений. Я решил с помощью матриц
Главный определитель D0
Приложение:
Ответ отправил: Vassea (статус: 5-ый класс)
Ответ отправлен: 13.10.2007, 20:44 Оценка за ответ: 5