IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача про треугольник, и его медиану..
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


для всех задач дано N точек плоскости.Найти три точки среди заданых точек чтобы треугольник с вершинами в этих точках содержал бы наименьшую медиану.

ну хоть малейшие подсказки,сам код не начинал.. хотябы связь..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +



PROGRAM minmed;

VAR N,I,J, K:INTEGER;
X,Y:ARRAY [0..100] OF REAL;
mq:REAL;
tk:BOOLEAN;
R:ARRAY [1..3] OF REAL;
M:ARRAY [1..3] OF REAL;
TR:array [1..3,1..2] of real;
LABEL 14;
label 15;
label 1;
label 4;

FUNCTION DL(A,B,C,D:REAL):REAL;
BEGIN
DL:=SQRT((A-B)*(A-B)+(C-D)*(C-D))
END;

function med(a,b,c,d,e,f:real):real;
begin
med:=sqrt( sqr(((a+b)/2)-c) + sqr(((d+e)/2)-f) );
end;

BEGIN
WRITELN ('нахождение треугольника с минимальной медианой');

REPEAT
WRITE ('ведите число точек = ');
READLN (N);
IF ((N<3) OR (N>100)) THEN
WRITELN ('неверное число точек');
UNTIL ((N>=3) AND (N<=100));
FOR I:=1 TO N DO
BEGIN
REPEAT
WRITELN ('ввеите координаты ',I,' точки');
WRITE ('введите абсциссу точки = ');
READLN (X[I]);
WRITE ('введите ординату точки = ');
READLN (Y[I]);
TK:=TRUE;
FOR J:=I DOWNTO 1 DO
BEGIN
IF ((X[I]=X[J]) AND (Y[I]=Y[J]) AND (I<>J)) THEN
BEGIN
WRITELN ('точки не должны повторяться');
TK:=FALSE;
END;
END;
UNTIL (TK=TRUE);
END;

FOR I:=1 TO (N-2) DO
BEGIN
FOR J:=I+1 to (n-1) DO
BEGIN
1:FOR K:=J+1 TO N DO
BEGIN
m[1]:=med(x[j],x[k],X[i],y[j],y[k],Y[I]);
m[2]:=med(x[K],x[I],X[j],y[K],y[I],Y[j]);
m[3]:=med(x[I],x[J],X[k],y[I],y[J],Y[k]);
end;
begin
writeln (m[1]);
writeln (m[2]);
writeln (m[3]);


if ((m[3]<m[2]) and (m[3]<m[1])) then
m[3]:=mq;
if ((m[2]<m[3]) and (m[2]<m[1])) then
m[2]:=mq;
if ((m[1]<m[2]) and (m[1]<m[3])) then
m[1]:=mq;
writeln(mq);
end;
end;
end;

end.





ну поччеееееемууууу он всегда MQ выводит равный нулю????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
krasnblj   задача про треугольник   11.12.2007 23:02
Lapp   Ничего в голову не приходит, кроме полного перебор…   12.12.2007 6:46
Michael_Rybak   Вообще, конечно, можно тут диаграммы Вороного заюз…   12.12.2007 7:20
krasnblj   Michael_Rybak я этого еще не проходил,расскажи ))   14.12.2007 14:49
Michael_Rybak   можно для каждой пары вершин находить середину сое…   14.12.2007 19:10
krasnblj   оу,не,решил делать перебором,не знаю как подойти,ч…   18.12.2007 21:21
Michael_Rybak   Ответом будут сами точки - вершины треугольника. Т…   19.12.2007 2:42
krasnblj   PROGRAM minmed; VAR N,I,J,K:INTEGER; X:ARRAY [1.…   6.01.2008 18:17
Michael_Rybak   ну добавь проверку, что точки IJK не лежат на одно…   6.01.2008 18:31
krasnblj   так если 2 точки лежат на одной прямой,а третья гд…   6.01.2008 21:54
Michael_Rybak   проверяй что все три не лежат. любые две всегда ле…   6.01.2008 21:59
krasnblj   хм,не предтваляю как это написать.. :blink:   6.01.2008 22:07
Michael_Rybak   Точки А В С лежат на одной прямой если (AX-BX)(CY-…   6.01.2008 22:35
krasnblj   спс,но мне другой способ подсказали,ищу как его вн…   7.01.2008 19:45
krasnblj   PROGRAM minmed; VAR N,I,J, K:INTEGER; X,Y:ARRAY …   8.01.2008 2:29
Michael_Rybak   Потому что нужно не m[3]:=mq; а mq:=m[3];   8.01.2008 6:50
krasnblj   :lol: щёрт,точно,ты и не представляешь как я тебя …   8.01.2008 15:56
Michael_Rybak   :)   8.01.2008 16:08


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 6.05.2024 4:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name