Input casuale.

di il
7 risposte

Input casuale.

Ciao a tutti, volevo chiedervi come posso fare per fare generare al computer un imput casuale in C++.
Vi spiego:
1) Devo fare generare al computer un intero casuale tra 10 e 100.
2) Generare un intero casuale tra 0 e 1.
3) Fare generare al computer una mossa casuale.

In breve devo creare un programma che gioca contro di me. Ho una pila di un numero n di palline. Devo fare generare quel numero n (1).
Devo far generare l'intero tra 0 e 1 per chi inizia per primo tra me o il computer(2).
Devo fare generare una mossa al pc: ossia prendere almeno una pallina dalla pila e al massimo metà delle palline.

L'esercizio è il "Gioco di Nim".

Grazie delle eventuali risposte

7 Risposte

  • Re: Input casuale.

    Non per essere puntiglioso ma si scrive Input ...

    cmq per la generazione di numeri casuali c'è la funzione rand()

    da inizializzare con srand(time(NULL)) , che considera anche l'orologio nella generazione di numeri .
  • Re: Input casuale.

    Anche io sono puntiglioso..oggi però andavo di fretta scusate,errore mio !

    Scusa non ho capito come funziona rand(). Vorrei che generi dei numeri compresi in un intervallo,ad esempio compreso tra 10 e 100.

    Grazie della risposta !
  • Re: Input casuale.

    Escher ha scritto:


    Anche io sono puntiglioso..oggi però andavo di fretta scusate,errore mio !

    Scusa non ho capito come funziona rand(). Vorrei che generi dei numeri compresi in un intervallo,ad esempio compreso tra 10 e 100.

    Grazie della risposta !
    Ok es veloce veloce .
    
    srand(time(NULL)); //inizializzo la funzione rand ora la generazione dei numeri è in base all'orologio
    main()
    {
            //Dichiarazione variabili
            int      Var;
    
    Var = rand () % 100 ;  //così facendo genera dei numeri pseudo-casuali da 0 a 100
    
    /*
    [i]"%" : questo è un operatore e si chiama modulo, e cioè restituisce il resto della divisione in questo caso 100/0 = 0 con resto 100
    
    se lo si vuole par partire da un altro numero si può fare nel seguente modo :
    
    Var = 1 + rand()%100 ;
    
    genera così numeri pseudo-casuali da 1 a 100 , nel tuo caso devi fare :
    
    Var = 10 + rand()%100 , e genererà così numeri da 10 a 100 in maniera casuale
    
    lo stesso per due valori
    
    Var = rand()%1; 
    
    anche se mi pare per 0 ed 1 ci sia un modo migliore che non ricordo purtroppo [/i]
    
    */
    
    printf("%d",Var);
    
    _getch(); 
    
    }
    
    
  • Re: Input casuale.

    Grazie mille. Perfetto !
  • Re: Input casuale.

    
    Var = 10 + rand()%100 , e genererà così numeri da 10 a 100 in maniera casuale
    
    Errata, parte da 10 ma finisce a 109
    
    Var = rand() % 91 +10;
    
  • Re: Input casuale.

    ixamit ha scritto:


    
    Var = 10 + rand()%100 , e genererà così numeri da 10 a 100 in maniera casuale
    
    Errata, parte da 10 ma finisce a 109
    
    Var = rand() % 91 +10;
    

    ops... giusto XD
  • Re: Input casuale.

    Grazie mille davvero ! =)
Devi accedere o registrarti per scrivere nel forum
7 risposte