Pascal/Вводятся 4 числа – длины отрезков. Найти максимальную площадь треугольника составленного из трёх отрезков этого набора или написать, что таких треугольников нет.
Ответы на вопрос
Ответил timosqout
1
Объясню идею, с кодом я думаю ты сам справишься.
Воспользуемся теоремой Герона:
То есть требуется только перебрать 4 варианта:
a, b, c
a, b, d
a, c, d
b, c, d
Вычислить площадь для каждого и найти максимум из них.
Ответил BobbyFresnel
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.
Приложения:

Новые вопросы
Русский язык,
2 года назад
Английский язык,
2 года назад
Математика,
2 года назад
Математика,
8 лет назад
Алгебра,
8 лет назад
main.pas(5,6) Fatal: Syntax error, ";" expected but "(" found