Тема: Паскаль
Показать сообщение отдельно
Старый 21.01.2010, 12:00   #8 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Сообщение от 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.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

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