• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 2 12 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 19

Discussione: Generatore numeri casuali (c++)

Cambio titolo
  1. #1
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Località
    Roma
    Messaggi
    4.127

    Generatore numeri casuali (c++)

    raga mi aiutate a fare un programma ke se gli dai due numeri (esempio 10 e 30) ti genera un numero casuale tra di loro (esempio 23)? grazie...
    League of Legends: WolveZeta
    Guild Wars 2: wolvezeta.1795 [Ring of Fire]
    Codice amico 3DS: 5472-8040-7216

  2. #2
    Arael Windwings L'avatar di RoyalEagle
    Registrato il
    11-03
    Località
    Pompei (NA)
    Messaggi
    5.636
    In C++ nn so ma in C si usa la funzione RAND e quella SRAND, fa una ricerca e vedi se è la stessa cosa per il C++.

    Stanno in time.h e stdlib.h





  3. #3
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Località
    Roma
    Messaggi
    4.127
    ehm...algoritmo?
    League of Legends: WolveZeta
    Guild Wars 2: wolvezeta.1795 [Ring of Fire]
    Codice amico 3DS: 5472-8040-7216

  4. #4
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    io lo so fare in pascal, te lo scrivo cmq

    Codice:
    program casuali
    var x:integer;
     
    begin
    randomize;
    x:=random(21)+10;
    end.
    ti spiego random(21) vuol dire i numeri da 0 a 20 poi essendo che li vuoi da 10 a 30 se esce 0 si somma 10 e viene 10 e viene 20 sommi 10 e viene 30

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  5. #5
    Utente GNU/Linux
    Registrato il
    10-02
    Località
    Roma
    Messaggi
    3.246
    Se ti va bene anche in C :
    Codice:
    (int)(((double)rand()/(RAND_MAX+1.0))*(double)((M+1)-m))+m
    Per generare un intero fra m ed M compresi.

  6. #6
    Arael Windwings L'avatar di RoyalEagle
    Registrato il
    11-03
    Località
    Pompei (NA)
    Messaggi
    5.636
    Citazione Nonno Cicala
    Se ti va bene anche in C :
    Codice:
    (int)(((double)rand()/(RAND_MAX+1.0))*(double)((M+1)-m))+m
    Per generare un intero fra m ed M compresi.
    Forse era meglio un esempio piì semplice.

    In pratica usi Srand per prendere un seme dall'orologio, e poi rand lo usa per generare unnumero casuale.

    Stasera posto un esempio.

    Il tutto in C non so se e lo stesso per il C++!





  7. #7
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione Wolve-X
    raga mi aiutate a fare un programma ke se gli dai due numeri (esempio 10 e 30) ti genera un numero casuale tra di loro (esempio 23)? grazie...
    tu genera un numero random anche 100... esegui il mod (la divisione che ritorna il resto(%)) x il range dei due numeri... nel tuo caso 20...questa funzione ti ritorna un numero compreso tra 0 e 19... aggiungi il valore minimo del tuo range (10) e ottieni un numero compreso tra 10 e 29... poi ti decidi tu...

    ->random di 100 = risultato
    ->risultavo % range = risultato
    ->risultato + numero minimo

    e hai il tuo numero random




  8. #8
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Località
    Roma
    Messaggi
    4.127
    io ho provato ma niente...

    Codice:
    void main() {
       int M,m;
       cout<<"Inserisci il numero minimo"<<endl;
       cin>>m;
       cout<<"Iserisci  il numero massimo"<<endl;
       cin>>M;
       cout<<"Il numero a caso è:"<<endl;
      (((double)rand()/(RAND_MAX+1.0))*(double)((M+1)-m))+m;
      }  getch();
    League of Legends: WolveZeta
    Guild Wars 2: wolvezeta.1795 [Ring of Fire]
    Codice amico 3DS: 5472-8040-7216

  9. #9
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione Wolve-X
    io ho provato ma niente...

    Codice:
    void main() {
    int M,m;
    cout<<"Inserisci il numero minimo"<<endl;
    cin>>m;
    cout<<"Iserisci il numero massimo"<<endl;
    cin>>M;
    cout<<"Il numero a caso è:"<<endl;
    (((double)rand()/(RAND_MAX+1.0))*(double)((M+1)-m))+m;
    } getch();
    prova a fare un codice come ti ho detto io che dovrebbe funzionare!!!




  10. #10
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Località
    Roma
    Messaggi
    4.127
    ma io sono molto niubbo e nn so cosa vuoi dire!
    League of Legends: WolveZeta
    Guild Wars 2: wolvezeta.1795 [Ring of Fire]
    Codice amico 3DS: 5472-8040-7216

  11. #11
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Località
    Roma
    Messaggi
    4.127
    forse ho capito (ma nn funzia lo stesso...)

    Codice:
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    
    // Questo programma genera numeri casuali (interi) nell'intervallo [min, max]
    int main()
    { srand(time(0));
    int min, max, quanti, i;
    cout<<"Introduci minimo"<<endl;
    cin>>min;
    cout<<"Introduci massimo"<<endl;
    cin>>max;
    int range = max - min + 1;
    cout<<"Quanti numeri vuoi generare? ";
    cin>>quanti;
    for (i = 0; i < quanti; i++)
    { int r = rand()%range + min;
    cout<<r<< " "; }
    cout<<endl;
    return 0; }
    getch();
    League of Legends: WolveZeta
    Guild Wars 2: wolvezeta.1795 [Ring of Fire]
    Codice amico 3DS: 5472-8040-7216

  12. #12
    Utente GNU/Linux
    Registrato il
    10-02
    Località
    Roma
    Messaggi
    3.246
    Citazione Wolve-X
    forse ho capito (ma nn funzia lo stesso...)

    Codice:
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    
    // Questo programma genera numeri casuali (interi) nell'intervallo [min, max]
    int main()
    { srand(time(0));
    int min, max, quanti, i;
    cout<<"Introduci minimo"<<endl;
    cin>>min;
    cout<<"Introduci massimo"<<endl;
    cin>>max;
    int range = max - min + 1;
    cout<<"Quanti numeri vuoi generare? ";
    cin>>quanti;
    for (i = 0; i < quanti; i++)
    { int r = rand()%range + min;
    cout<<r<< " "; }
    cout<<endl;
    return 0; }
    getch();
    L'ho provato togliendo il getch(); finale e gli headers cstdlib e ctime, non necessari; funziona.

  13. #13
    Distruggi Community L'avatar di fulminato
    Registrato il
    02-04
    Località
    Maestro errante deL'OTU
    Messaggi
    26.241
    Citazione Nonno Cicala
    L'ho provato togliendo il getch(); finale e gli headers cstdlib e ctime, non necessari; funziona.

    magari hai un compilatore permissivo.
    "Per il resto la serie TES cesserà di interessare quando Fulminato smetterà di fare errori di battitura nei suoi post"
    Dark_Angel83
    "Physics is like sex: sure, it may give some practical results, but that's not why we do it."
    Richard P. Feynman
    "A mathematician is a blind man in a dark room looking for a black cat which isn't there."
    Charles R Darwin
    "Una nuova verità scientifica non si impone perché i suoi detrattori via via l'accettano, ma perché questi mano mano muoiono, e nel contempo sorge una nuova generazione in grado di accettarla."
    Max Planck

  14. #14
    Functional and Stylish L'avatar di Wolve-X
    Registrato il
    03-04
    Località
    Roma
    Messaggi
    4.127
    Citazione Nonno Cicala
    L'ho provato togliendo il getch(); finale e gli headers cstdlib e ctime, non necessari; funziona.
    a me nn fa vedere vedere il risultato, esce subito...
    League of Legends: WolveZeta
    Guild Wars 2: wolvezeta.1795 [Ring of Fire]
    Codice amico 3DS: 5472-8040-7216

  15. #15
    Orso BaloSso L'avatar di MiStAkE
    Registrato il
    05-04
    Località
    Aquino
    Messaggi
    15.096
    lascia il gecth() allora.

Pag 1 di 2 12 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •