![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 10.03.2009
Сообщений: 31
|
![]()
тоесть моё условие неверно?
|
![]() |
![]() |
![]() |
#12 | |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 10.03.2009
Сообщений: 31
|
![]()
спасибо..
а что можете сказать вот по этому условию: Заданы окружность и множество треугольников. Если все треугольники лежат в 4-ой четверти, то найти треугольник с наименьшей площадью. В противном случае найти количество треугольников, лежащих целиком в этой окружности. |
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
если имеется в виду 4 четверть декартовых прямоугольных координат, значит по данным определяем - если все ординаты вершин треугольников отрицательны, а абсциссы положительны, значит они лежат в 4 четверти координатной плоскости, ну а потом проверяете, лежат ли они целиком в четвертой четверти окружности - уравнение окружности sqr(x-x0)+sqr(y-y0)=sqr(r), x0,y0 - координаты центра. То есть каждая координата ваших треугольников, удовлетворяющих условию "лежания" в четвертой четверти окружности, должна соответствовать неравенству (sqr(x1-x0)+sqr(y1-y0)<=sqr(r)) and (x1>=0) and (y1<=0) (соответственно так же координаты x2,y2 и т.д. Ну и сравнивать площади треугольников по формуле Герона S=sqrt(p*(p-a)*(p-b)*(p-c)), где a,b,c - стороны треугольника, которые будут искаться вами из значений вершин a=sqrt(sqr(x1-x2)+sqr(y1-y2)), ну и p=(a+b+c)/2 (полупериметр). если какие-то условия вышесказанного не выполняются, то ищите треугольники, которые лежат целиком в этой окружности, тобишь опять проверяете на принажлежность координат треугольников кругу, то есть sqr(x1-x0)+sqr(y1-y0)<=sqr(r), где x0,y0 - координаты центра, r - радиус окружности
Последний раз редактировалось capta1n; 22.03.2009 в 12:13. |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 69
|
![]()
1) Проверяешь, все ли треугольники имеют отрицательную ординату и положительную абсцису.
2) Если да, то вычисляешь площадь каждого треугольника и производишь поиск минимума этой последовательности. 3) Если нет, то производишь поиск всех треугольников, чьи вершины отдалены от центра окружности не более, чем на радиус. Таки напишу код (не лень же под хорошую музыку что-то хорошее написать...) Код:
Silence is of great value...
Последний раз редактировалось Jean-Esther; 22.03.2009 в 13:09. Причина: счетчик цикла |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 10.03.2009
Сообщений: 31
|
![]()
О_о
спсасибо.. |
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
почему-то не могу оставить Вам отзыв
|
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 10.03.2009
Сообщений: 31
|
![]()
а площадь можно вычислять так:
function S(t:TPol):tp; p,ab,bc,ac:real; begin ab:=sqrt(sqr(A.x-B.x)+sqr(A.y-B.y)); bc:=sqrt(sqr(B.x-C.x)+sqr(B.y-C.y)); ac:=sqrt(sqr(A.x-C.x)+sqr(A.y-C.y)); p:=(ab+bc+ac)/2; S:=sqrt(p*(p-ab)*(p-bc)*(p-ac)); end; ?? |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 10.03.2009
Сообщений: 31
|
![]()
чёт я совсем запутался.. просто начал немного по другому..:
implementation type circl=record x:integer; y:integer; r:integer; end; coord=record x:integer; y:integer; end; treug=record A,B,C:coord; menplosadi:real; koltreugvokr:integer; end; var T:array [1..10] of treug; o:coord; r:integer; {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); var i,koltreug:integer; begin //круг o.x:=strtoint(edit1.Text); o.y:=strtoint(edit2.Text); r:=strtoint(edit3.Text); koltreug:=strtoint(edit4.Text); // вводим треугольники for i:=1 to koltreug do begin T[i].A:=strtoint(stringgrid1.cells[1,i]); T[i].B:=strtoint(stringgrid1.cells[2,i]); T[i].C:=strtoint(stringgrid1.cells[3,i]); end; end; |
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 10.03.2009
Сообщений: 31
|
![]()
каша какая-то в голове....
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Окружность и точки. Дельфи | Rancid | Помощь студентам | 6 | 20.11.2010 20:08 |
вписать в треугольник окружность | stimswall | Помощь студентам | 3 | 21.03.2009 03:15 |
простые числа.окружность. | Verochka | Помощь студентам | 15 | 31.12.2008 08:22 |
Вписанная в выпуклый n-угольник окружность | Nixond | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 15.10.2008 13:28 |
нарисовать окружность состоящую из 36 разноцветных квадратов | Invisible Hunter | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.05.2008 18:03 |