Quanto scateni la funzione? Secondo me non hai bisogno di due cicli il while lo puoi togliere e usare solo il for.