Devo generare in un array dei numeri casuali che però non si devono ripetere, sapete come fare?
P.S. I numeri devono andare da 1 a 90
Devo generare in un array dei numeri casuali che però non si devono ripetere, sapete come fare?
P.S. I numeri devono andare da 1 a 90
Quanti ne devi generare?
Amaro C++, il gusto pieno dell'undefined behavior.
Devo generare 90 numeri, che vanno da 1 a 90(devo fare un programma che simula il gioco della tombola)
codice:#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int arr[90]={0}; int num; srand(time(NULL)); for(num=0;num<90;num++) { int index; for(index=rand()%90;arr[index]!=0;index=(index+1)%90) ; arr[index]=num+1; } for(num=0;num<90;num++) printf("%d ",arr[num]); putchar('\n'); return 0; }
Amaro C++, il gusto pieno dell'undefined behavior.
ok, ho un'altra domanda. Come faccio ad impostare gli estremi in cui la funzione rand deve generare i numeri?
Se non mi sbaglio si può fare così:
(se gli estremi sono compresi nell'intervallo)codice:minimo + rand() % ( ( massimo - minimo ) + 1 );
every day above ground is a good one
Spero di non andare off-topic, comunque, la generazioni di numeri casuali mi servirebbe sempre in relazione al programma che devo fare della tombola. Adesso devo generare la cartella dell'utente(bel problema). Premetto che mi è stato imposto di usare un array, quindi non posso usare matrici, comunque una cartella è una matrice 9x3 che contiene 15 numeri, ordinati nella colonna, e le restanti 12 caselle sono bianche. Il mio problema è quello di generare da 1 a 3 numeri per colonna, dipende dai casi, questi numeri variano a seconda della colonna, cioè prima colonna 1-9, seconda 10-19...etc fino ad arrivare all'ultima che fa eccezzione perchè va da 80-90. Mi potete aiutare a farlo?