Найти пятую по счету единицу в массиве из 0 и 1

zhgulevatanya zhgulevatanya    3   18.08.2019 16:10    1

Ответы
ledytyt13 ledytyt13  05.10.2020 03:07
// 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
ПОКАЗАТЬ ОТВЕТЫ
Акинаки Акинаки  05.10.2020 03:07
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-ый элемент массива
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика