Можно код сделать покороче, если ты об этом.
program tri;
var
a, b, c: real;
begin
writeln('Введите a,b,c:');
readln(a, b, c);
if (a > 0) and (b > 0) and (c > 0) then
begin
if (a = c) and (b = c) and (a = b) then
writeln('Треугольник равносторонний') ;
if (((a = b) and (b <> c)) or
((b = c) and (b <> a)) or
((c = b) and (c <> a))) then
writeln('Треугольник равнобедренный');
if (a <> b) and (c <> b) and (a <> c) then
writeln('Треугольник произвольный') ;
end
else
writeln('такого треугольника нет') ;
end.
Ну вот, на 5 строчек короче, но смысл тот же.
Изменения:
- Использовал if.. else вместо двух if при проверке положительности сторон.
- Собрал 3 if при проверке на равносторонность в один if.