Как решить ошибку нарушение прав доступа при чтении по адресу?
Ну гарантированный улет за границу массива вот тут i < zoo.size() + 1
Что тут делает +1?
Запустите в дебаггере. Он остановится на строке с ошибкой. Проверьте значения всех переменных (zoo - размер вектора? i - чему равно?)