Предмет: Информатика, автор: Аноним

Программа запускается, но ввожу значения переменных, а ответ не выдаёт.
Не могу понять, в чём проблема?
Занимаюсь недавно, не ругайте))
И правильно ли я её вообще решила?


var
max,x,y,z,t:real;
begin
readln(x,y,z);
if(x>y)then max:=x
else max:=y;
if(z>max)then max:=z;
if(z*max t:=x*x+y*y+z*z-2*sqr(max);
if(t>0)then writeln('acute');
if(t=0)then writeln('right');
if(t<0)then writeln('obtuse')
else writeln('impossible');
end;
readln;
end.



Сама задача, если понадобится
Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами.

Входные данные
Даны три натуральных числа – стороны треугольника.

Выходные данные
Необходимо вывести одно из слов: right для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника.

Ответы

Автор ответа: mixonix
0
программа должна выглядеть так 
var
max,x,y,z,t:real;
begin
readln(x,y,z);
if(x>y)then max:=x
else max:=y;
if(z>max)then max:=z;
if(z*max*t=x*x+y*y+z*z-2*sqr(max)) then begin
if(t>0)then writeln('acute');
if(t=0)then writeln('right');
if(t<0)then writeln('obtuse')
end
else writeln('impossible');
readln;
end.
Автор ответа: mixonix
0
var
max,x,y,z,t:real;
begin
readln(x,y,z);
if(x>y)then max:=x
else max:=y;
if(z>max)then max:=z;
if((y+x>z) and (x+z>y) and (y+z>x)) then begin t:=x*x+y*y+z*z-2*sqr(max);
if(t>0)then writeln('acute');
if(t=0)then writeln('right');
if(t<0)then writeln('obtuse')
end
else writeln('impossible');
end.
Автор ответа: mixonix
0
вот так вроде все работает верно
Автор ответа: mixonix
0
извините что сразу не нашел ошибку
Автор ответа: Аноним
0
Спасибо большое, всё работает :)
Автор ответа: mixonix
0
я точно такое же делал но на c++
Похожие вопросы
Предмет: Алгебра, автор: liziume00
Предмет: Математика, автор: Кристина44556