Вычтем из 10100 00001 столбиком по правилам сложения в двоичной системе. Получим 10011
10
первая единица показывает количество двоек, ноль показывает количество единиц.
var temp:array[1..31] of integer;
k,i:integer;
begin
for i:=1 to 31 do readln(temp[i]);
for i:=1 to 31 do
if a[i]<0 then inc(k);
writeln(k);
end.
Налево при x = 1
Направо при x = 21
Ответ: 1, 21
-------------------
Действие y := x + 12 выполнятся не будет вообще, т.к. x должен быть -8, но это число является истинным для первого условия x < 3, поэтому туда программа не пойдет.
Pascal:
const n=20;
var a: array[1..n] of integer;
max, min, i: integer;
begin
max:=-11;
min:=11;
for i:=1 to n do begin
a[i]:=random(20)-10; {или readln(a[i]); если нужен конкретный ввод}
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
writeln((max+min)/2);
end.