Насколько я понял так (рисунок). Участки выделены заливкой
В данном случае рисуем два пересекающихся круга
а) Пересечение - это их общая область, принадлежащая одновременно и А и B
б) Объединение - это вся их область полностью.
Var X: array [1..20] of integer;
i, sum : integer;
<span>BEGIN
</span>for i:=1 to 25 do
read(X[i]);
sum:=0;
i:=1;
while X[i]<>0 do begin
sum:=sum+X[i];
i:=i+1;
<span>end;
</span>writeln('Первый нулевой элемент ', i);
<span>writeln('Сумма элементов до нулевого ', sum);
</span>END.
begin
var a := ArrRandom(ReadInteger('n ='), -15, 15);
a.Println;
a.ForEach(x -> begin if x < 0 then Print(x) end)
end.
Не знаю, зачем все так усложнять, по-моему нужно у одной хозяйки вычесть 1 л (5-1) молока и отдать его второй хозяйке (3+1), у них как раз станет по 4 л. Не знаю зачем тут еще 2-литровый бидон