Ciao a tutti....dovrei permutare i valori contenuti in un array di dimensione n...
vorrei usare un ciclo in cui richiamo per n volte la funzione rand(), ma come faccio a farmi restituire dalla rand() una sequenza casuale da 0 a n-1 senza ripetizioni da usare come indici per prelevare i valori dall'array dato e inserirli in un array ausiliario?
cioè...l'idea è questa:
codice:
void permutaVet(int v[], int n){
int temp[n];
int j=0;
while(j<n){
int index=rand()%n;
temp[j]= v[index];
j++;
}
int i;
for(i=0; i<n; i++){
v[i]=temp[i];
}
return;
}
solo che qui la rand() capita che mi restituisce più volte lo stesso indice, invece io vorrei indici distinti in ogni chiamata...Aiuto!