#arr = [*map(int, input().split(' 0')[0].split())] если числа вводятся в строчку , то раскомментируйте и используйте эту строку, а инициализацию массива arr и цикл while закомментируйте
arr = []
while 1:
tmp = int(input())
if tmp != 0: # Читаем сколько угодно чисел пока не будет ноль
arr.append(tmp)
else:
break
s = 0 # сумма двузначных чисел
k = 0 # количество двузначных чисел
for i in arr:
if 10 <= i <= 99: # итерируемся по циклу и если число двузначное
s += i # то прибавляем его к сумме
k += 1 # счетчик двузначный чисел увеличиваем на один
print(s/k) if k > 0 else print('NO') #если количество двузначных > 0 то выводим среднее арифметическое s/k, если нет то выводим NO
равносильно
for (int k = 0;k < 3;k++) {
}
т.е. пустому циклу. То есть, в выражении
for (int k = 0;k < 3;k++);
for (int m = 0;m < 2;m++);
cout « " " « arr[k][m];
последняя строка вообще находится вне цикла. Соответственно, переменные-счетчики k и m в этом выражении не определены. Правильный код:
for (int k = 0;k < 3;k++)
for (int m = 0;m < 2;m++)
cout « " " « arr[k][m];