Предмет: Информатика,
автор: sgt35997
Pascal/Вводятся 4 числа – длины отрезков. Найти максимальную площадь треугольника составленного из трёх отрезков этого набора или написать, что таких треугольников нет.
Ответы
Автор ответа:
1
Объясню идею, с кодом я думаю ты сам справишься.
Воспользуемся теоремой Герона:
То есть требуется только перебрать 4 варианта:
a, b, c
a, b, d
a, c, d
b, c, d
Вычислить площадь для каждого и найти максимум из них.
Автор ответа:
1
function Geron(ar: array of real): real;
begin
var (a, b, c) := ar;
if (a + b > c) and (a + c > b) and (b + c > a) then begin
var p := (a + b + c) / 2;
Result := Sqrt(p * (p - a) * (p - b) * (p - c))
end
else
Result := 0
end;
begin
var a := ReadArrReal(4);
var s := a.Combinations(3).Select(t -> Geron(t)).Max;
if s > 0 then
s.Print
else
Print('Таких треугольников нет')
end.
Приложения:
Похожие вопросы
Предмет: Русский язык,
автор: K31082002
Предмет: Математика,
автор: Аноним
Предмет: Геометрия,
автор: steamen
Предмет: Математика,
автор: AlexClever1
main.pas(5,6) Fatal: Syntax error, ";" expected but "(" found