Hola! el problema esta en hacer esto: int min = V[0];. siempre inicializas a min con el valor 2(posicion 0 del arreglo)
y cuando "n" sea cero vos retornas ese 2. Por lo tanto hacer esto: if(V[n] < min) min = V[n]; no influye en nada para el retorno en cada funcion
Si no es obligatorio usar ese prototipo para la funcion minimo, usa este:
y contame si te sale
Saludos