![]() |
|
Модераторы: Poseidon |
![]()
|
|
| DDV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Если четыре точки A, B, C и D, заданные координатами на плоскости, могут быть вершинами трапеции, найти уравнения прямых, содержащих ее высоты, опущенные из вершин меньшего основания.
Входные данные:x1= y1= x2= y2= x3= y3= x4= y4= Выходные данные: урвнения прямых. +всевозможные аномалии в в тексте программы с сообщениями о неправельном вводе. Сори не в ту тему написал, увожаемые модеры, переместите плиз тему в центр помощи, заранее спасибо. Это сообщение отредактировал(а) DDV - 25.10.2006, 23:51 |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 2 Всего: 108 |
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| DDV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Это конечно хорошо, но я в этом деле чайник чайником, кроме массивов не фига не понимаю, а сдавать в субботу...
|
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 9 Всего: 23 |
Давай сначала математику расскажу. Это не для того, чтобы тебя обидеть, сказав тем самым, что ты ничего не знаешь. Просто будет легче понять решение. Само же решение - аж смешно: 2 (именно 2!) строки (без строк ввода и вывода).
Пусть через точки (х1,у1) и (х2,у2) проходит большее (нижнее) основание, через точки (х3,у3) и (х4,у4) - меньшее. Значит, если надо опустить высоту на большее основание надо провести перпендикуляр из точек 3 и 4 на большее основание. План решения. Находим уравнение прямой, содержащей большее основание, как уравнение прямой, проходящей через две точки: (y-y1)/(y2-y1)=(x-x1)/(x2-x1) Через заданную точку проводим прямую с заданной ориентацией. Говоря языком твоей программы, получится: через вершины меньшего основания проводим прямые, перепендикулярные найденной. Общее уравнение прямой y=kx+b. Общее уравнение прямой, проходящей через заданную точку имеет вид (у-у0)=к(х-х0). Условием перпендикулярности является к1*к2=-1. Нахождение уравнения прямой через две точки программой посложнее, чем на бумаге: для сведения уравнения к общему виду, преобразований много. Поэтому пойдем по оригинальному пути. Коэффициент k - это по определению тангенс угла наклона прямой к оси х, k=tg(a). Что такое тангенс? Это отношение противолежащего катета к прилежащему. В твоем случае как раз удобнее и быстрее найти именно его. Значит? длина противолежащего катета равна у2-у1, а прилежащего - х2-х1. Получаем к=(y2-y1)/(x2-x1) Из условия перпендикулярности искомое значение коэффициента ki:=-1/k. ВСЁ-О-О-О! Далее лишь преобразование! Для точки 3 (одна из вершин меньшего основания): y-y3=ki(x-x3) --> y=ki(x-x3)+y3 --> y=ki*x-ki*x3+y3 Слагаемые -ki*x3+y3=b согласно вида общего уравнения - это конкретное для данного случая число. Для прямой из второй вершины (точки 4), думаю, уравнение напишешь сам. Теперь код. Мне проще на делфи, так что возможны ошибки - отредактируешь.
Это сообщение отредактировал(а) anwe - 26.10.2006, 23:04 |
|||
|
||||
| DDV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Спасибо огромное, ТЫ МНЕ ОЧЕНЬ ПОМОГ !!!
|
|||
|
||||
| DDV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Принес задачу училке она говорит что решение должно быть развернутое и написано поэтапно, а не в 2 строки. Нет аномалий, а они должны быть (если не правельно заданы координаты и фигура не трапеция)
|
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 9 Всего: 23 |
Если надо более подробный коментарий и описание - позже. |
|||
|
||||
| DDV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Огромное СПАСИБО СПАСИБО СПАСИБО !!!!! Ты меня СПАС !!!!
Это сообщение отредактировал(а) DDV - 5.11.2006, 13:46 |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 9 Всего: 23 |
А я уж думал, что зря старался до 01:35
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |