Показать сообщение отдельно
Старый 02.03.2016, 12:46   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вот, получите:
Код:
Uses CRT;

Const
 Nmax=20;

function MaxH(ax,ay,bx,by,cx,cy:Real):Real;
var
 S,da,db,dc,mn:Real;
begin
 S:=0.5*Abs((ax-cx)*(by-cy)-(bx-cx)*(ay-cy));
 da:=sqrt(sqr(ax-bx)+sqr(ay-by));
 db:=sqrt(sqr(bx-cx)+sqr(by-cy));
 dc:=sqrt(sqr(cx-ax)+sqr(cy-ay));
 if da<db then mn:=da else mn:=db;
 if dc<mn then mn:=dc;
 MaxH:=2*S/mn;
end;

Var
 ax,ay,bx,by,cx,cy,Hmax,H:real;
 n,i,imx:byte;

Begin
 ClrScr;
 Repeat
  write('Kol-vo treug-ov do ',nmax,' n= ');
  readln(n);
 until n in [1..Nmax];
 Hmax:=0;
 writeln('Vvedite koordinati vershin treug-ov:');
 for i:=1 to n do
  begin
   writeln('treug-k ',i,':');
   write('vershina 1: ');
   readln(ax,ay);
   write('vershina 2: ');
   readln(bx,by);
   write('vershina 3: ');
   readln(cx,cy);
   H:=MaxH(ax,ay,bx,by,cx,cy);
   if H>Hmax then
    begin
     Hmax:=H;
     imx:=i;
    end;
  end;
 writeln;
 writeln('naibolshaya visota= ',Hmax:0:3,' v treug-ke nomer ',imx);
 Readln;
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070