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

0 интересует 0 не интересует
94 просмотров

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


спросил от (15 баллов) в категории Информатика
1 Ответ
0 интересует 0 не интересует
ответил от Начинающий (201 баллов)
 
Лучший ответ

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.


оставил комментарий от БОГ (678k баллов)
0 0

ты считаешь только пары чисел

оставил комментарий от Начинающий (201 баллов)
0 0

>Определить количество соседств двух чиселА разве не пары нужно?)

оставил комментарий от БОГ (678k баллов)
0 0

тут именно в последовательности

оставил комментарий от Начинающий (201 баллов)
0 0

То есть если есть пара чисел, например, 1 и -1, то следующее число не может образовать пару с -1. Я правильно понимаю?

оставил комментарий от Начинающий (201 баллов)
0 0

Тогда нужно добавить в операторе 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.

...