Scusa ... non ho controllato tutto ... ma se scrivi
for(int i = 0; i<5; i++){
intendendo che inizialmente i valga 0 e poi scrivi
for(int j=i-1; j>=0; j--){
assumi che j debba valere -1 (ovvero i-1) e non mi sembra ci sia un elemento dell'array con indice -1.
Ancora peggio quando i varra' 1 ... 2 ...
Forse e' meglio che rivedi la logica del codice ...