Tenes dos opciones... controlas hasta que posicion se ingreso. y el for lo realizas hasta esa posicion y no hasta el tope maximo...
La otra posicion es ignorar los ceros....
Código C:
Ver originalif (menor > v[i] && v[i] != 0) /* si hay otro menor lo cambiamos */
{
menor = v[i];
repetido = 1;
}