Информатика, вопрос задал Аноним , 7 лет назад

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


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++
Новые вопросы