analogRead() inside a loop always returns 0
voltage[i]=analogRead(sensors_pin[i])*(5/1023)


Is equivalent to 

voltage[i]= analogRead(sensors_pin[i])*0
          = 0;


You are using an integer division, not a floating point divsion. 5 / 1023 evaluates to 0, 5.0f / 1023 evalues to 0.00488... You have repeated this error throughout your lower loop code, which is why you're only getting 0.

In your outer loop you printed it as 

Serial.println(analogRead(A5)*500/1023);


Which will first multiply by 500, then divide by 1023, which works. But since you put the above expression in parenthesis, it was first evaluated.