Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами - Pascal ABC

Формулировка задачи:

мне надо сделать такое задание на паскале : Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами. Формат входных данных: Даны три натуральных числа – стороны треугольника. Формат выходных данных: Необходимо вывести одно из слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника. Пример: Ввод - 3 4 5 Вывод - rectangular вот моя прога :
program vidtreugolnika ;
var a, b, c : real ;
begin
readln (a, b, c);
if (a>b+c) or (b>a+c) or (c>a+b) then write ('impossible')
else if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then write ('rectangular')
else if (a*a>b*b+c*c) or (b*b>a*a+c*c) or (c*c>a*a+b*b) then write ('obtuse')
else write ('acute');
readln;
end.
и когда я её отправляю (там на автомате всё) на сайт он пишет НЕПРАВИЛЬНЫЙ ОТВЕТ

Код к задаче: «Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами - Pascal ABC»

textual
var a,b,c,d,e,mx,sr,mn:integer;
begin
read(a,b,c);
if (a+b<=c)or(a+c<=b)or(b+c<=a)
then writeln('impossible')
else
 begin
  if a>b then mx:=a else mx:=b;
  if c>mx then mx:=c;
  if a<b then mn:=a else mn:=b;
  if c<mn then mn:=c;
  sr:=a+b+c-mx-mn;
  d:=mn*mn+sr*sr;
  e:=mx*mx;
  if d>e then writeln('acute')
  else if d<e then writeln('obtuse')
  else if d=e then writeln('right');
 end;
end.

11   голосов, оценка 3.909 из 5


СОХРАНИТЬ ССЫЛКУ