Var A:array[1..10000] of real; n,i:integer; Begin Randomize; Write('n = '); ReadLn(n); Write('A(',n,'):'); For i:= 1 to n do Begin A[i]:=random*(2*n+1)-n; Write(' ',A[i]:0:1) End; WriteLn; i:=0; For n:= 1 to n-1 do if (A[n] > 0)and(A[n+1] > 0) then i:=i+1; WriteLn('k = ',i); End.
Ввод с клавиатуры, без массива:
Var A,A2:real; n,k:integer; Begin Write('n = ');ReadLn(n); Read(A); k:=0; For n:= 2 to n do Begin A2:=A; Read(A); if (A > 0)and(A2 > 0) then k:=k+1; End; WriteLn('k = ',k); End.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
Writeln('Соседств: ',a.Pairwise.Where(x->((x[0]>0) and (x[1]>0))).Count)
end.
Пример
n= 15
38 -48 -9 22 -40 -18 9 30 -17 -23 4 -36 16 29 -16
Соседств: 2
Var
A:array[1..10000] of real;
n,i:integer;
Begin
Randomize;
Write('n = ');
ReadLn(n);
Write('A(',n,'):');
For i:= 1 to n do
Begin
A[i]:=random*(2*n+1)-n;
Write(' ',A[i]:0:1)
End;
WriteLn;
i:=0;
For n:= 1 to n-1 do
if (A[n] > 0)and(A[n+1] > 0) then i:=i+1;
WriteLn('k = ',i);
End.
Ввод с клавиатуры, без массива:
Var
A,A2:real;
n,k:integer;
Begin
Write('n = ');ReadLn(n);
Read(A);
k:=0;
For n:= 2 to n do
Begin
A2:=A;
Read(A);
if (A > 0)and(A2 > 0) then k:=k+1;
End;
WriteLn('k = ',k);
End.