Potresti anche generare un array di 89 interi contenenti i numeri tra 10 e 99, quindi estrarre a sorte (uno alla volta) dei valori che cancelleresti dall'elenco dopo averli estratti. Ad esempio, con solo cinque elementi per brevità:
array iniziale: 1 2 3 4 5
quantità elementi: 5
Estrai un indice da 0 a 4 con rand()%5, metti esca 2 corrisponderebbe al valore 3. 3 andrebbe eliminato dall'array, e la quantità degli elementi ridotta di uno:
array iniziale: 1 2 3 4 5
quantità elementi: 5
indice estratto: 2
valore corrispondente: 3
array dopo l'eliminazione: 1 2 4 5
quantità di elementi: 4
Se in seguito estrai un altro indice con rand()%4. avrai un indice che fa riferimento a un valore non ancora estratto (1, 2, 4 o 5). Ad esempio, se rand()%4 ti desse di nuovo 2, avresti il valore 4:
array iniziale: 1 2 4 5
quantità elementi: 4
indice estratto: 2
valore corrispondente: 4
array dopo l'eliminazione: 1 2 5
quantità di elementi: 3
E così via. Non so quanto sia "canonico" un modo di procedere così, però credo che funzioni.