Даны два массива a и b длины N, причем массив b состоит только из нулей и единиц....

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

Даны два массива a и b длины N, причем массив b состоит только
из нулей и единиц. Составить программу суммирования тех элементов
массива a, которым соответствуют единицы массива b. Найти K – номер
первого элемента массива b, равного 1. Печатать K, сумму, массивы a и b.

P.s. делается в PascalABC.NET


Информатика (39 баллов) | 56 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
  n=20;
var
  a,b:array[1..n] of integer;
  i,k,s:integer;
begin
  Randomize;
  Writeln('Массив a');
  for i:=1 to n do
  begin
    a[i]:=Random(50)+1;
    Write(a[i]:3)
  end;
  s:=0;
  Writeln(#13#10,'Массив b');
  for i:=1 to n do
  begin
    b[i]:=Random(2);
    Write(b[i]:3);
    if b[i]=1 then s+=a[i]
  end;
  i:=1;
  while (b[i]=0) and (i<=n) do Inc(i);<br>  if i>n then k:=0 else k:=i;
  Writeln(#13#10,'k=',k,', s=',s)
end.
 
Тестовое решение:
Массив a
 22 50 34 22 19  1 36  5 23 30 27 24 48 22 24 27 14 14 39  3
Массив b
  0  1  0  1  0  0  1  1  1  1  0  1  1  1  0  1  1  1  0  1
k=2, s=318

(142k баллов)