В целочисленных массивах A и B содержатся длины катетов десяти прямоугольных треугольников (A[i] — длина первого катета, B[i] — длина второго катета i-го треугольника). Напишите программу, которая по имеющимся данным определит треугольник с наибольшей площадью и выведет его номер, длины катетов и площадь. Предусмотрите случай, когда таких треугольников несколько.
Для одного прямоугольного треугольника с катетами A[i] и B[i] площадь равна половине их произведения:
Сначала читаем десять пар положительных длин. За начальный максимум берём произведение катетов первого треугольника, ведь хотя бы один треугольник дан. Первый проход находит наибольшее произведение. Второй проход выводит каждый треугольник с этим произведением, так что равные наибольшие площади не теряются.
program LargestTriangles;
var
A, B: array[ .. ] of integer;
i: integer;
product, largest: longint;
begin
for i := to do
begin
repeat
write('Катеты треугольника ', i, ': ');
readln(A[i], B[i]);
until (A[i] > ) and (B[i] > );
end;
largest := longint(A[ ]) * B[ ];
for i := to do
begin
product := longint(A[i]) * B[i];
if product > largest then largest := product;
end;
for i := to do
if longint(A[i]) * B[i] = largest then
writeln('Номер ', i, '; катеты ', A[i], ' и ', B[i],
'; площадь ', largest / : : );
end.
Например, пары катетов ( и ( дают одинаковое произведение
Программа выводит номера, катеты и площадь
