Программа чисто математическая, треугольник не может существовать если сумма двух его сторон меньше третьей стороны (например 27<12+14 условие не выполняется 27 на самом деле больше 26 а значит треугольник со сторонами 12 14 27 не может существовать) теперь о площади, площадь тут мы можем найти по формуле Герона эта формула используется когда нам известны все стороны. Я скинул два скрина на первом программа выводит что треугольник не существует, а следовательно программа останавливается условием halt и не на ходит площадь, а на втором скрине программа выводит что такой треугольник существует и находит его площадь.
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017 // Внимание! Если программа не работает, обновите версию!
procedure MaxR(a:array[,] of integer; var b:array of integer); begin b:=a.Rows.Select(r->r.Select(x->x).Max).ToArray end;
begin Writeln('*** Исходный массив ***'); var a:=MatrRandom(4,3,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var b:array of integer; MaxR(a,b); Write('Максимумы построчно: '); b.Println end.
теперь о площади, площадь тут мы можем найти по формуле Герона эта формула используется когда нам известны все стороны.
Я скинул два скрина на первом программа выводит что треугольник не существует, а следовательно программа останавливается условием halt и не на ходит площадь, а на втором скрине программа выводит что такой треугольник существует и находит его площадь.
// Внимание! Если программа не работает, обновите версию!
procedure MaxR(a:array[,] of integer; var b:array of integer);
begin
b:=a.Rows.Select(r->r.Select(x->x).Max).ToArray
end;
begin
Writeln('*** Исходный массив ***');
var a:=MatrRandom(4,3,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:array of integer;
MaxR(a,b);
Write('Максимумы построчно: '); b.Println
end.
Пример
*** Исходный массив ***
18 -32 -82
31 44 -16
-32 -28 2
-14 -6 -82
Максимумы построчно: 18 44 2 -6