I have no idea if your code works or not but i was working on something similar a bit back. I don't know if it will solve your problem, i wont compile as it is but it worked for me. I've put your variables names in it but it might need a check.
int readings[8];
int average[8];
#define Input 0
for (i=0; i<8; i++) {
r0 = bitRead(i,0);
r1 = bitRead(i,1);
r2 = bitRead(i,2);
digitalWrite(2, r0);
digitalWrite(3, r1);
digitalWrite(4, r2);
readings[i] = analogRead(Input);
average[i] = average[i] + ((readings [i] - average[i])>> 2);
Serial.print ("Pot number is: ");
Serial.println (i+1, DEC);
Serial.print("Value to send is: ");
Serial.print(average[i]<<4);
Serial.print("\n \n");
}