В программе куча ошибок. Вы, наверное, слабо представляете, что такое cin/cout раз так их применяете. Совет - почитайте внимательнее учебник, так же обратите внимание на операторы if и for.
Чтобы пройтись по массиву:
for(int i=0; i<1000; i++) { cin >> array[i]; .... }
Чтобы сравнить число:
if(array[i] == 0) { ... }
В Вашей реализации Func1() всегда вернет последнее введенное Вами число. Она не возвращает массив.
Каждый раз вызывая Func2() Вы обнуляете счетчик отрицательных чисел.
int iter = 0
надо убрать из него и вставить в мэйне до первого вызова этой функции. И опять таки, Func2() проверяет не весь массив, а только одно число которое приходит из первой функции, а из первой функции приходит последнее введенной Вами число.
А Func3() выведет Вам тоже самое число, которое вернет Func1(). В таком виде от него вообще смысла нет.