Помощь - Поиск - Пользователи - Календарь
Полная версия: Условный оператор
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Guest
program test; uses crt;
label m1, m2, m3;
var
	a,b,c:real;
begin clrscr;
writeln('Введите числа');readln(a,b,c);
if (a+b>0) and (a+c>0) and (b+c>0) then
   if (sqr(a)+sqr(B)=sqr(c)) or (sqr(a)+sqr(c)=sqr(B)) or (sqr(B)+sqr(c)=sqr(a)) then
   	begin
   	writeln('Прямоугольный');
   	goto m1;
   	end;
   if  (sqr(a)+sqr(B)<sqr(c)) or (sqr(a)+sqr(c)<sqr(B)) or (sqr(B)+sqr(c)<sqr(a)) then
   	begin
   	writeln('Тупоугольный');
   	goto m3;
   	end;
   if  (sqr(a)+sqr(B)>sqr(c)) or (sqr(a)+sqr(c)>sqr(B)) or (sqr(B)+sqr(c)>sqr(a)) then
   	begin
   	writeln('Остроугольный');
   	goto m2;
   	end;
end
else
	begin
	writeln('Такого треугольника нет');
	end;
readkey;
    m1: m2: m3:
end.


Не подскажите в чем ошибка выдает Undefined label in preceding statement part (m2)
volvo
У тебя нарушена последовательность begin ... end:
writeln('Введите числа');readln(a,b,c);
if (a+b>0) and (a+c>0) and (b+c>0) then BEGIN { <--- добавь begin}
klem4
может так ?

Код
uses crt;
var a,b,c:single;

begin
  clrscr;
  write('a='); readln(a);
  write('b='); readln(b);
  write('c='); readln(c);

  if (a+b>0)and(a+c>0)and(b+c>0) then
   begin
      if sqr(a)+sqr(b)=sqr(c) then
       writeln('Прямоугольный')
      else
       if sqr(a)+sqr(b)>sqr(c) then
        writeln('Остроугольный')
       else
        writeln('Тупоугольный');
   end
  else
   writeln('Это не треугольник');

  readln;

end.


ps если блоксхема твоя вчерашняя то это ен совсем сходится.
Guest
volvo
Спасибо.

klem4
Блок схема моя. Я задачу не до конца тогда сделал...

Тему можно закрывать
klem4
Еще один совет, старайся обходиться без меток, метки - зло.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.