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

0 голосов
37 просмотров

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


image

Информатика (45 баллов) | 37 просмотров
Дан 1 ответ
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.

(13.3k баллов)
0

Можете добавить условие если сразу ввести 0 программа выдовала ошибку

0

Добавьте после строки 7-ой строки "read(a);" следующее: if a = 0 then begin writeln('Ошибка!'); exit end;