Sono un po' arruginito di c/c++.
Comunque una cosa molto semplice del genere, dichiarando un array di interi di lunghezza max_numeri (sia per esempio numeri[], che ho visto dichiari all'inizio ma non mi pare che usi...) e cambiando il nome della variabile
int numeri in
int numero (cattiva abitudine dare nomi uguali a variabili che funzionano in modo diverso, array e primitivo in questo caso) e sostituendo queste righe:
Codice:
for(int i=0; i<max_numeri; i++){
numeri=rand()%90+1;
cout<<" \t"<<numeri;
}
con
Codice:
//azzero l'array, 0 non può uscire quindi va bene per quello che fai dopo
for (int j=0; j<max_numeri; j++)
numeri[j]=0;
for(int i=0, int j=0; i<max_numeri; i++){
numero=rand()%90+1;
//controllo che non sia già stato estratto
for (j=0; j<max_numeri; j++)
if (numeri[j] == numero)
break; //esce dal ciclo di controllo perchè trova un doppione, j avrà un valore inferiore a max_numeri
if (j<max_numeri) //trovato un doppione
continue; //non stamparlo a video, estraine un altro
cout<<" \t"<<numero;
}
non l'ho compilato, ho cambiato il nome di una variabile per non fare confusione. I commenti dovrebbero essere esplicativi.