Предмет: Информатика,
автор: focusstar2000
Вводится последовательность натуральных чисел. Признак конца ввода – 0. Определить количество соседств двух чисел разного знака.
Желательно на паскале, и без массива.
Ответы
Автор ответа:
0
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.
focusstar2000:
ты считаешь только пары чисел
>Определить количество соседств двух чисел
А разве не пары нужно?)
А разве не пары нужно?)
тут именно в последовательности
То есть если есть пара чисел, например, 1 и -1, то следующее число не может образовать пару с -1. Я правильно понимаю?
Тогда нужно добавить в операторе 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.
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.
Похожие вопросы
Предмет: Английский язык,
автор: azimamadalieva
Предмет: Алгебра,
автор: msutamalieva
Предмет: Литература,
автор: po4tamailqwer
Предмет: Математика,
автор: enolt