As I understand it the analytical engine could only refer to memory by variable cards that had the explicit address printed on them, see https://www.fourmilab.ch/babbage/cards.html. For instance the only way to load the value at memory location 5 into the "ALU" was by the machine reading a card that said "L005".
However, when reading about the algorithm for computing Bernoulli numbers with the analytical engine, Note G at https://www.fourmilab.ch/babbage/sketch.html it is sort of implied that there is some way to refer to succesively higher memory locations within a loop.
The only exception to a perfect identity in all the processes and columns used, for every repetition of Operations (13…23), is, that Operation 21 always requires one of its factors from a new column, and Operation 24 always puts its result on a new column. But as these variations follow the same law at each repetition (Operation 21 always requiring its factor from a column one in advance of that which it used the previous time, and Operation 24 always putting its result on the column one in advance of that which received the previous result), they are easily provided for in arranging the recurring group (or cycle) of Variable-cards.
So something along the lines of,
for (int i = 0; i < n; i++) {
...
B[i] = ...
}
But how would this be possible without some form of indirect addressing?