Вот в этой строке проблемы:
if(val>allVal[id][i]){
Точнее на ней все стопорится где-то на 4 цикле (когда идет работа с отсутсвующим элементом в массиве val). Здесь как то нужно сделать проверку на наличие элемента и если что просто не делать эти действия, а пропускать и переходить сразу к следующему циклу.