Цитата:
Сообщение от mister ratmir
помогите:Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь.
|
Код:
type
koord = record
x,y: integer;
end;
var k: array[1..6] of koord;
dlina: array[1..6] of real;
i:integer;
s1,s2,p1,p2:real;
begin
writeln('Последовательно введите координаты вершин первого и второго треугольников');
for i:=1 to 6 do begin
writeln('координата x",i);
read(k[i].x);
writeln('координата y",i);
read(k[i].y);
end;
dlina[1]:=sqrt(sqr(k[1].x-k[2].x)+sqr(k[1].y-k[2].y));
dlina[2]:=sqrt(sqr(k[1].x-k[3].x)+sqr(k[1].y-k[3].y));
dlina[3]:=sqrt(sqr(k[3].x-k[2].x)+sqr(k[3].y-k[2].y));
dlina[4]:=sqrt(sqr(k[4].x-k[5].x)+sqr(k[4].y-k[5].y));
dlina[5]:=sqrt(sqr(k[4].x-k[6].x)+sqr(k[4].y-k[6].y));
dlina[6]:=sqrt(sqr(k[6].x-k[5].x)+sqr(k[6].y-k[5].y));
p1:=(dlina[1]+dlina[2]+dlina[3])/2;
p2:=(dlina[4]+dlina[5]+dlina[6])/2;
s1:=sqrt(p1*(p1-dlina[1])*(p1-dlina[2])*(p1-dlina[3]));
s2:=sqrt(p2*(p2-dlina[4])*(p2-dlina[5])*(p2-dlina[6]));
if s1>s2 then writeln('площадь 1 треугольника больше') else if s1<s2 then writeln('площадь 2 треугольника больше') else writeln('треугольники равные по площади');
readln;
end.