Двойной ввод

begin
  var a: array[1..13] of integer;
  a[readinteger]+=1;
 
end.

Должно быть: Считывает с клавиатуры число и соответствующий элемент массива увеличивает на единицу.

Ошибка: Запрашивает два числа с клавиатуры.

1 лайк

А давайте a[readinteger]+=1; представим в более традиционном виде?

a[readinteger]:=a[readinteger]+1;

Вот оно отсюда и берется.

Не соответствующий, а ячейку — результат второго ввода + 1…

Т.е. для массива [1,2,3,4,5] при введённых 5 и 1 получится [1,2,3,4,2]

Фишка!

Да, это ошибка. Исправим

Просто ориентировался на аналогичную команду на Python
a[int(input())]+=1 и она не вызывает двойного ввода.

Да понятно, что и не должна по-хорошему. Я лишь попытался объяснить, почему так получилось.