Даны два массива a и b длины n, причем массив b состоит только из нулей и единиц. составить программу суммирования тех элементов массива a, которым соответствуют единицы массива b. найти k – номер первого элемента массива b, равного 1. печатать k, сумму, массивы a и b. p.s. делается в pascalabc.net

dinbili3 dinbili3    1   01.07.2019 07:50    1

Ответы
madievazarina madievazarina  24.07.2020 17:49
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);
  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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика