Problemi di programmazione con il Sig. RANDOM

di il
2 risposte

Problemi di programmazione con il Sig. RANDOM

Salve a tutti, sono nuovo, sia per l'iscrizione a questo sito che per il linguaggio C.
spero di essere nel posto giusto per chiedere un aiuto:
Non capisco come fare a non generare numeri doppi nel random:
riesco a chiedere di non visualizzare mai un dato numero, come per esempio con questo codice che chiedo di non darmi mai lo zero, ma solo numeri che vanno da 1 a 10:

do
nr=rand()%11;
while (nr==0);

ci sarebbe un modo per chiedere di non darmi mai numeri doppi?
ciao e buona giornata a tutti !!

2 Risposte

  • Re: Problemi di programmazione con il Sig. RANDOM

    Se utilizzi un array per contenere i numeri generati, hai la possibilità di controllaread ogni generazione se quel numero è contenuto nell'array, in caso di responso positivo, generi semplicemente un altro numero.
  • Re: Problemi di programmazione con il Sig. RANDOM

    Grazie grazie mille per l'aiuto iso90 , ho provato e riprovato e alla fine è riuscito: sono troppo felice vi espongo lo scorcio importante del programma per chi fosse interessato:
    (genero 10 volte numeri che vanno da 1 a 20)
    ...

    for (i=0;i<10;i++)
    {
    nr=1+rand()%20;
    for (k=0;k<i;k++)
    {
    if (nr[k]==nr)
    {
    i--;
    break;
    }
    }
    }
    for (k=0;k<10;k++)
    {
    printf (". %d .\n",nr[k]);
    }

    ...grazie ancora...
Devi accedere o registrarti per scrivere nel forum
2 risposte