Volevo fare un programma che simula la lotteria e che quindi deve estrarre dei numeri casuali senza però che si ripetano. Ho scritto un codice che però a quanto pare non funziona, perché mi restituisce lo stesso numeri con qualche ripetizione.
Ho provato a cercare sul web ma non ho trovato niente di soffisfacente
Mi aiutate a capire dove ho sbagliato?
codice:
#include <stdio.h>#include <stdlib.h>
#include <time.h>
#define n_max 10
#define n_min 1
void estrazione(int[]);
int main(){
int i;
srand48(time(0));
int num[6] = {0};
estrazione(num);
for(i = 0; i < 6; i++){
printf("%d\n", num[i]);
}
}//main
void estrazione(int num[]){
int *P_num;
P_num = num;
int i,j;
int ok = 0;
for(i = 0; i < 6; i++){
ok = 1;
while (ok == 1) {
*(P_num + i) = n_min + (double)lrand48() / RAND_MAX * n_max;
for(j = 0; j < i; j++){
if(*(P_num + j) == *(P_num + i)){
ok = 1;
} //fine if
}//fine secondo for
ok = 0;
}// fine while
} //fine primo for
}//estrazione
Grazie in anticipo