Определить сколько раз последовательность из n произвольных чисел меняет знак. сохранить в новом файле последовательность одного знака максимальной длины. паскаль. не массив
Сменой знака считается переход от отрицательного к нулю, от нуля к положительному, от отрицательного к положительному и наоборот. По крайней мере в условии не сказано обратное.
program progr1;
var count,i,n,x,znak,znak_old:integer; begin write('n-> '); readln(n); count:=0; for i:=1 to n do begin write(i,'-> '); readln(x); if x < 0 then znak:=-1; if x>0 then znak:=1; if x=0 then znak:=0; if i < > 1 then if znak < > znak_old then count:=count+1; znak_old:=znak; end; write('count=',count); readln; end.
Сменой знака считается переход от отрицательного к нулю, от нуля к положительному, от отрицательного к положительному и наоборот. По крайней мере в условии не сказано обратное.
program progr1;
var count,i,n,x,znak,znak_old:integer;
begin
write('n-> '); readln(n);
count:=0;
for i:=1 to n do
begin
write(i,'-> '); readln(x);
if x < 0 then znak:=-1;
if x>0 then znak:=1;
if x=0 then znak:=0;
if i < > 1 then
if znak < > znak_old then count:=count+1;
znak_old:=znak;
end;
write('count=',count);
readln;
end.