Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2011, 18:37   #1
Марисабель
Новичок
Джуниор
 
Регистрация: 02.12.2011
Сообщений: 2
По умолчанию На языке Си++ Определить, лежит ли данная точка на одной из сторон треугольника, заданного координатами его вершин.

Помогите пожалуйста решить задачу!
Определите, лежит ли данная точка на одной из сторон треугольника, заданного координатами его вершин.

Выявить исходные данные, результаты, назначить им имена.
Выбрать метод (порядок) решения задачи.
Разбить метод решения задачи на этапы.
Изобразить каждый этап в виде соответствующего символа блок-схемы алгоритма и указать стрелками порядок их выполнения.
В полученной схеме при любом варианте вычислений предусмотреть выдачу результатов или сообщений об их отсутствии, обеспечить возможность перейти к блоку конец.


Пожалуйста Заранее Спасибо Вам!!
Марисабель вне форума Ответить с цитированием
Старый 02.12.2011, 19:11   #2
No_Comments
Пользователь
 
Регистрация: 03.07.2011
Сообщений: 92
По умолчанию

С точки зрения линейной алгебры, проверить, лежит ли точка на прямой можно с помощью канонического уравнения прямой
(x-x1)/(x2-x1)=(y-y1)/(y2-y1).
Вместо x и y подставить координаты точки. Если получиться тождество, то точка лежит на прямой.
Код:
        int x1, x2, x3, y1, y2, y3;
	int x, y;
	cout<<"Insert coordinates of first top:\n";
	cin>>x1;
	cin>>y1;
	cout<<"Insert coordinates of second top:\n";
	cin>>x2;
	cin>>y2;
	cout<<"Insert coordinates of third top:\n";
	cin>>x3;
	cin>>y3;
	cout<<"Insert coordinates of point:\n";
	cin>>x;
	cin>>y;
	if ((x-x1)*(y2-y1)==(x2-x1)*(y-y1) ||(x-x2)*(y3-y2)==(x3-x2)*(y-y2) ||
	(x-x1)*(y3-y1)==(x3-x1)*(y-y1))
		cout<<"Point belong line!\n";
	else
		cout<<"Point doesn`t belong line!\n";
код достаточно несложный.
Стоит заметить, что необходимо преобразовать каноническое уравнение в произведение скобок, чтобы не получить ошибки при делении на 0.
No_Comments вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определите, лежит ли данная точка на одной из сторон треугольника, заданного координатами его вершин. Марисабель Помощь студентам 0 02.12.2011 18:20
лежит ли точка внутри треугольника х-prof Помощь студентам 1 16.06.2011 20:16
Определить лежит ли точка на пересечении 2 элипсов Sirega Общие вопросы C/C++ 8 03.03.2009 20:49
Необходимо определить периметр многоугольника, заданного координатами вершин Андрю)(@ Паскаль, Turbo Pascal, PascalABC.NET 6 23.12.2008 12:30