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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2010, 18:04   #1
Joker<777>
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 18
Вопрос Определить ближайщую к началу координат точку

Определить ближайщую к началу координат точку плоскости из трех заданных
Joker<777> вне форума Ответить с цитированием
Старый 05.09.2010, 18:14   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

та у которой sqrt(x^2+y^2) меньше та и ближе)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 05.09.2010, 18:20   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Можно, конечно, так:
Код:
Uses CRT;
Type
       Point = packed record
       x,y:Integer;
End;
Var A,B,C:Point;
     L1,L2,L3:Real;
     
Begin
        Write('Enter x1 and y1:');
        Readln(A.X,A.Y);
        Write('Enter x2 and y2:');
        Readln(B.X,B.Y);
        Write('Enter x3 and y3:');
        Readln(C.X,C.Y);
        L1:=sqrt(sqr(A.X)+sqr(A.Y));
        L2:=sqrt(sqr(B.X)+sqr(B.Y));
        L3:=sqrt(sqr(C.X)+sqr(C.Y));
        If (L1<L2) And (L1<L3) Then Write('First!');
        If (L2<L1) And (L2<L3) Then Write('Second!');
        If (L3<L1) And (L3<L2) Then Write('Third!');
        Readln;
End.
Хотя, конечно, можно и так, но первый способ более красивый:
Код:
Uses CRT;
Var 
     X1,X2,X3:Integer;
     Y1,Y2,Y3:Integer;
     L1,L2,L3:Real;
Begin
        Write('Enter x1 and y1:');
        Readln(X1,Y1);
        Write('Enter x2 and y2:');
        Readln(X2,Y2);
        Write('Enter x3 and y3:');
        Readln(X3,Y3);
        L1:=sqrt(sqr(X1)+sqr(Y1));
        L2:=sqrt(sqr(X2)+sqr(Y2));
        L3:=sqrt(sqr(X3)+sqr(Y3));
        If (L1<L2) And (L1<L3) Then Write('First!');
        If (L2<L1) And (L2<L3) Then Write('Second!');
        If (L3<L1) And (L3<L2) Then Write('Third!');
        Readln;
End.

Последний раз редактировалось _-Re@l-_; 05.09.2010 в 18:24.
_-Re@l-_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить дубли по началу строки gamer123 Общие вопросы Delphi 4 01.09.2010 10:34
возврат к началу Kiber3D Паскаль, Turbo Pascal, PascalABC.NET 17 19.05.2010 21:56
tchart - Как при наведении курсора на определенную точку сериэса узнать точку наведения и отобразить её xaero93 Помощь студентам 0 22.04.2009 19:28
Определить какая из точек находится ближе к началу координат(алгоритм ветвления). Rakfeller Паскаль, Turbo Pascal, PascalABC.NET 16 25.01.2009 02:01
Определить длину отрезка во 2-м квадранте системы координат kolduev Помощь студентам 9 13.02.2008 17:45