#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// La funzione estrazione può essere utilizzata identica in tutti gli esercizi di
// estrazione senza reinbussolamento
int estrazione(int urna[], int dim, int num_estratti)
{
int n, estratto;
n=rand()%(dim-num_estratti); // genera la posizione dell'array che contiene il numero da estrarre
estratto=urna[n]; // il numero in posizione n è quello da estrarre
urna[n]=urna[dim-num_estratti-1]; // sposta in posizione n il numero che si trova nell'ultima
// posizione dell'array
return estratto;
}
int main()
{
int urna[90], i, estratto;
// Carica l'urna con i numeri della tombola
// In posizione 0 capiterà il numero 1 e così via
for(i=0; i<90; i++)
urna[i]=i+1;
// Impostazione del seme
srand(time(NULL));
// Effettua 90 estrazioni
for(i=0; i<90; i++){
estratto=estrazione(urna, 90, i); // l'indice i indica quante estrazioni sono già fatte
printf("%d ", estratto);
}
return 0;
}
Torna agli esercizi: Esercizi