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) then writeln('равнобедренный'); If (b=c) and (b<>a) then writeln('равнобедренный'); If (c=b) and (c<>a) then writeln('равнобедренный'); if (a<>b) and (c<>b) and (a<>c) then writeln('произвольный'); end; if (a<0) or (b<0) or (c<0) then writeln('такого треугольника нет'); end.

100817ЛИСИЧКА240817 100817ЛИСИЧКА240817    1   10.09.2020 19:46    0

Ответы
bnhgj4p08xdt bnhgj4p08xdt  15.10.2020 20:00

Можно код сделать покороче, если ты об этом.

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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика