#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()
{
// Definisce un'urna di 20 elementi con i numeri da estrarre
int urna[20]={1, 3, 5, 7, 8, 9, 10, 11, 15, 33, 44, 45, 50, 55, 70, 77, 88, 89, 90, 99};
int i, estratto;
// Impostazione del seme
srand(time(NULL));
// Effettua 2 estrazioni
printf("Giocatori estratti: ");
for(i=0; i<2; i++){
estratto=estrazione(urna, 20, i); // l'indice i indica quante estrazioni sono già fatte
printf("%d ", estratto);
}
return 0;
}
Torna agli esercizi: Esercizi