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

Как исправить программу что бы выдовал что знаки чередуются?

Приложения:

Ответы на вопрос

Ответил A1dar
0
Булевская переменная говорит о том, чередуются ли символы. Если в какой-нибудь момент произведение текущего и предыдущего числа будет больше нуля (a * b > 0 только если знаки совпадают), то присваиваем переменной ложь.
var
  a, b: integer;
  c: boolean;
begin
  b := 0;
  c := true;
  read(a);
  while a <> 0 do
  begin
    if a * b > 0 then c := false;
    b := a;
    read(a);
  end;
  if c then writeln('Знаки чередуются')
        else writeln('Знаки не чередуются')
end.
Ответил Skorp818
0
Можете добавить условие если сразу ввести 0 программа выдовала ошибку
Ответил A1dar
0
Добавьте после строки 7-ой строки "read(a);" следующее: if a = 0 then begin writeln('Ошибка!'); exit end;
Новые вопросы