НАЙТИ ПЯТУЮ ПО СЧЕТУ ЕДИНИЦУ В МАССИВЕ ИЗ 0 И 1

0 голосов
45 просмотров

НАЙТИ ПЯТУЮ ПО СЧЕТУ ЕДИНИЦУ В МАССИВЕ ИЗ 0 И 1


Информатика (32 баллов) | 45 просмотров
0

Pascal, Delphi, c#, c++...?

0

Паскаль

Дано ответов: 2
0 голосов
Правильный ответ

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<br> 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-ый элемент массива

(194k баллов)
0 голосов
// 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

(150k баллов)