profile
Опубликовано 5 лет назад по предмету Информатика от focusstar2000

Вводится последовательность натуральных чисел. Признак конца ввода – 0. Определить количество соседств двух чисел разного знака.
Желательно на паскале, и без массива.

  1. Ответ
    Ответ дан Paha2230

    program NumberOfDifferences;

    var sum, a, b: integer;

    begin

       sum := 0;

       readln(a);

       b := a;

       while a <> 0 do begin  

           readln(a);

           if ((a < 0) and (b > 0)) or ((a > 0) and (b < 0)) then

               sum := sum + 1;

           b := a;

           end;

      writeln(sum);

    end.


    1. Ответ
      Ответ дан focusstar2000
      ты считаешь только пары чисел
    2. Ответ
      Ответ дан Paha2230
      >Определить количество соседств двух чисел
      А разве не пары нужно?)
    3. Ответ
      Ответ дан focusstar2000
      тут именно в последовательности
    4. Ответ
      Ответ дан Paha2230
      То есть если есть пара чисел, например, 1 и -1, то следующее число не может образовать пару с -1. Я правильно понимаю?
    5. Ответ
      Ответ дан Paha2230
      Тогда нужно добавить в операторе if дополнительный ввод числа
      program HelloWorld;
      var sum, a, b: integer;
      begin
      sum := 0;
      readln(a);
      b := a;
      while a <> 0 do begin
      readln(a);
      if ((a < 0) and (b > 0)) or ((a > 0) and (b < 0)) then begin
      sum := sum + 1;
      readln(a);
      end;
      b := a;
      end;
      writeln(sum);
      end.