Var
s,p:real;
i,j:integer;
a:array[1..3]of real;
begin
readln(a[1],a[2],a[3]);
for i:=1 to 3 do
for j:=1 to 3 do
if a[j]>a[i] then
begin
p:=a[i];
a[i]:=a[j];
a[j]:=p
end;
if a[1]+a[2]>a[3] then
begin
p:=(a[1]+a[2]+a[3])/2;
s:=sqrt(p*(p-a[1])*(p-a[2])*(p-a[3]));
for i:=1 to 3 do
write(a[i],' ');
writeln;
writeln('Площадь треугольника: ',s);
end
else writeln('Треугольник не существует');
<span>end.</span>
Ну этот кусок может выглядеть так:
---------------
t:= A;
A:=B;
B:=C;
C:=t;
---------------
Т.к. A>B (A - положительное, B- отритцательное), то условие if A<B не выполняется, значит числа не поменяются. A=0.5 B==1.7