Задание звучит : Дана последовательность целых чисел, за которой следует ноль. Определить, число соседств чисел с одинаковыми знаками. Что нужно изменить в программе, чтобы выполнялось условие задачи. Program exapmle2;var x,y,k:integer;begin writeln('Эта программа определяет, число соседств чисел с одинаковыми знаками'); write('Введите число:'); read(x); y:=x; k:=0; while y<>0 do begin if x*y<0 then inc(k); if x*y>0 then inc(k); y:=x; read(y); end; writeln(' Число соседств ',k); writeln('нажмите Enter для завершения работы программы'); readln;end.

10 Мая 2020 в 19:40
195 +1
0
Ответы
1

Чтобы выполнялось условие задачи, необходимо изменить условие в цикле while, чтобы программа проверяла знаки чисел до нуля и не сравнивала последнее введенное число с нулем.

Пример исправленного кода:

Program exapmle2;
var
x, y, k: integer;
begin
writeln('Эта программа определяет число соседств чисел с одинаковыми знаками');
write('Введите число:');
read(x);
y := x;
k := 0;
while y <> 0 do
begin
if x * y < 0 then
inc(k);
if x * y > 0 then
inc(k);
x := y;
read(y);
end;
writeln('Число соседств ', k);
writeln('Нажмите Enter для завершения работы программы');
readln;
end.
18 Апр 2024 в 12:28
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир