Yeah I see what you're getting at actually.
So the 'walking 1' values would be inserted for the first 8 values of the selectPortA array and the remaining two values of the selectPortA array would = 0.
For the remaining values of the array (9 and 10) the walking 1 would hop over to PortE where the first 8 values of the selectPortE array would = 0 and the walking 1 values would be inserted for the remaining 2 selectPortE array values (9 & 10)
So I guess it would look like this;
const char selectPortA [10] = {1, 2, 4, 8, 16, 32, 64, 128, 0, 0} ;
const char selectPortE [10] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2};
Then to select a display I can use a value n as you suggested. A bit wasteful, but certainly functional!
Have I understood correctly? I'm going to try that - but tomorrow now because it's getting late here
Bri