while не может подойти!
Он живёт пока живут элементы массива, а когда умирает, то рожает эту самую ошибку!
Можа функцию написать свою типа while из for?
это один человек писал ?А похожий на Ромика первый вариант чем плох? - он прекрасно работает: