// PascalABC.NET 3.2, сборка 1374 от 10.01.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),0,1); a.Println; var b:=a.Select((x,i)->(x,i)).Where(x->x[0]=1).Select(x->x[1]).ToArray; if b.Count>=5 then Writeln('Номер пятой по порядку единицы в массиве равен ',b[4]+1) else Writeln('В массиве меньше пяти единиц') end.
Пример n= 17 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 Номер пятой по порядку единицы в массиве равен 9
Const n=10; var a:array[1..n] of integer; i,k:integer; begin Randomize; for i:=1 to n do begin a[i]:=random(2); write(a[i]:2); end; writeln; k:=0; i:=1; while (i<=n)and(k<5) do begin if a[i]=1 then k:=k+1; i:=i+1; end; if k=5 then writeln('5-я единица - ',i-1,'-ый элемент массива') else writeln('В массиве меньше 5 единиц'); end.
Пример: 0 1 1 0 1 1 1 0 0 1 5-я единица - 7-ый элемент массива
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),0,1);
a.Println;
var b:=a.Select((x,i)->(x,i)).Where(x->x[0]=1).Select(x->x[1]).ToArray;
if b.Count>=5 then
Writeln('Номер пятой по порядку единицы в массиве равен ',b[4]+1)
else Writeln('В массиве меньше пяти единиц')
end.
Пример
n= 17
1 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1
Номер пятой по порядку единицы в массиве равен 9
var a:array[1..n] of integer;
i,k:integer;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(2);
write(a[i]:2);
end;
writeln;
k:=0; i:=1;
while (i<=n)and(k<5) do
begin
if a[i]=1 then k:=k+1;
i:=i+1;
end;
if k=5
then writeln('5-я единица - ',i-1,'-ый элемент массива')
else writeln('В массиве меньше 5 единиц');
end.
Пример:
0 1 1 0 1 1 1 0 0 1
5-я единица - 7-ый элемент массива