Buon giorno a tutti!

Oggi pongo un altro quesito....
Ho creato un programma che stampa un array con elementi definiti dall'utente e cerca un elemento scelto dall'utente se è ripetuto nell'array.
Dovrei però far stampare anche la posizione della prima ripetizione nell'array qualora ci fosse... Come posso fare?

codice:
#include <stdio.h>
#include <stdlib.h>
#define max 30


void leggi_v (int v1[], int dim) {
    int i;
    
    printf ("Inserire gli elementi del vettore\n\n");
    for (i=0; i<dim; i++) {
        printf ("Elemento %d: ", i+1);
        scanf ("%d", &v1[i]);
    }
    
}




void stampa_v (int v1[], int dim) {
    int i;


    printf ("Il mio vettore sara' composto dai seguenti numeri \n");
    for (i=0; i<dim; i++) {
        printf ("Elemento n.%d: %d\n", i+1, v1[i]);
    }
}




void cerca_rip (int v1[], int dim) {
    int trovato = false;
    int i = 0;
    int a;
    
    printf ("Inserire l'elemento che si desidera controllare: ");
    scanf ("%d", &a);
        
    while ((i<dim) && !trovato) {
        if (v1[i] == a)
            trovato = true;
        else
            i++;
    }
    
    if (trovato) {
        printf ("Elemento ripetuto nel vettore: %d\n\n", a);
    printf ("L'elemento si trova in posizione: %d", v1[a]); // ???????    
}
    else {
        printf ("Non ci sono ripetizioni.");
    }
}


typedef int vet1[max];


int main() {
    vet1 v1;
    int dim;
    
    printf ("Inserisci il numero di elementi dei vettori: ");
    scanf ("%d", &dim);


    leggi_v (v1, dim);
    stampa_v (v1, dim);
    cerca_rip (v1, dim);
}