PascalABC.NET:
begin
var a:=ArrRandom(50,-500,500);
a.Println;
var k:=a.Where(x->(abs(x) mod 10 = 3)).Count;
var s:=a.Where(x->(abs(x) mod 10 = 3)).Sum;
if k=0 then writeln('В массиве нет элементов, оканчивающихся цифрой 3')
else Writeln('Среднее арифметическое элементов массива, оканчивающихся цифрой 3 = ',s/k);
end.
Пример (для 10 элементов):
450 -159 189 463 262 220 -125 -41 -178 -62
Среднее арифметическое элементов массива, оканчивающихся цифрой 3 = 463
Переводим в десятичную систему оба числа. Нужно над каждым числом отметить разряд справа налево от 0
6543210
1011111
И умножаем 1*2^6+0*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=95
Аналогично со вторым
6543210
1010011
Умножаем 1*2^6+0*2^5+1*2^4+0*2^3+0*2^2+1*2^1+2*1^0=83
95+83=178
Переводим 178 в двоичную систему
178/2=89 - остаток 0
89/2=44 - остаток 1
44/2=22 - остаток 0
22/2=11 - остаток 0
11/2=5 - остаток 1
5/2=2 - остаток 1
2/2=1 - остаток 0
Единичку, что получилась также считаем, ставим ее в начало
Ответ 10110010