Предмет: Информатика,
автор: TerorMaus
Даны натуральное число n, действительные числа a1,a2,...,an. В последовательности a1, a2,..., an определить число соседств двух положительных чисел.
Ответы
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1457 от 29.05.2017
// Внимание! Если программа не работает, обновите версию!
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
// Внимание! Если программа не работает, обновите версию!
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
Автор ответа:
0
Заполнение массива случайными числами:
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.
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.
Похожие вопросы
Предмет: Алгебра,
автор: Аноним
Предмет: Математика,
автор: Liza482886
Предмет: Математика,
автор: nyurossi
Предмет: Математика,
автор: ЛунаПринцеса1
Предмет: Математика,
автор: 252233