Ok...risolto!
ho capito che con la funzione random non posso evitare le ripetizioni e quindi ho aggiunto un vettore di flag per segnarmi quale valore è già uscito...
posto la mia soluzione per chi è interessato al problema.
codice:
void permutaVet(int v[], int n){
int temp[n],ind[n];
int j;
for(j=0;j<n;j++)
ind[j]=0;
j=0;
while(j<n){
int index=rand()%n;
while(ind[index]!=0){
index+=1;
if(index==n){
index=0;
}
}
ind[index]=1;
temp[j]= v[index];
j++;
}
int i;
for(i=0; i<n; i++){
v[i]=temp[i];
}
return;
}