(Паскаль) Молю помогите. В произвольном одномерном массиве найти сумму индексов...

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

(Паскаль) Молю помогите. В произвольном одномерном массиве найти сумму индексов положительных элементов.


Информатика (15 баллов) | 40 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var a:=ArrRandom(ReadInteger('n='),-50,50);
  a.Println;
  Writeln('s=',a.Select((x,i)->Rec(x,i+1)).Where(x->x.Item1>0)
    .Select(x->x.Item2).Sum)
end.

Тестовое решение:
n= 15
-27 45 -9 38 -30 -22 -36 18 -40 5 -47 5 33 -21 -44
s=49

(142k баллов)
0 голосов

Var a:array [1..1000] of integer;   
      i,n,s:integer;
begin  
  s:=0;  writeln ('Введите размер массива');  
  readln (n);  
  for i:= 1 to n do begin     
    write ('a[',i,']= ');     
    readln (a[i]);   
    if a[i]>0 then s:=s+i;      
   end;
writeln ('Сумма индексов положительных элементов = ',s);
end.

(10.6k баллов)