Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    12

    [C++] Problema Funzione Rand()

    Salve a tutti, come esercizio mi è stato chiesto di implementare un codice che insegni ai ragazzi delle elementari le tabelline.

    quando cerco di creare le tabelline random lo fa, solo al prossimo ciclo i numeri sono sempre uguali e non cambiano?

    ho provato pure a spostare in una funzione la generazione delle tabelline per paura che fosse influenzata da un ciclo. ma non riesco a capire aiuti pls?

    questo è il mio codice http://pastebin.com/2feUxMVQ

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    codice:
    int main(int argc, char*argv[])
    {
    srand (time(NULL));
    
    //TUTTO IL RESTO
    
    }
    srand (time(NULL)); serve a generare la sequenza di numeri pseudocasuali a partire da valori che cambiano praticamente ogni secondo, quindi per creare sempre combinazioni diverse, devi richiamare questa funzione prima di usare i vari rand

    edit:

    all'inizio tra gli include aggiungi anche
    codice:
    #include <time.h>

    edit2:
    curiosità, perchè includi anche cose come fstream encdec.h e string?
    Ultima modifica di Rising1; 28-09-2014 a 13:38

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    12
    Quote Originariamente inviata da Rising1 Visualizza il messaggio
    codice:
    int main(int argc, char*argv[])
    {
    srand (time(NULL));
    
    //TUTTO IL RESTO
    
    }
    srand (time(NULL)); serve a generare la sequenza di numeri pseudocasuali a partire da valori che cambiano praticamente ogni secondo, quindi per creare sempre combinazioni diverse, devi richiamare questa funzione prima di usare i vari rand

    edit:

    all'inizio tra gli include aggiungi anche
    codice:
    #include <time.h>

    edit2:
    curiosità, perchè includi anche cose come fstream encdec.h e string?
    perchè l'ide me le richiede, se importo solo iostream mi dice importare anche istream e fstream per usare cout e cin non so perchè!
    Ultima modifica di LeleFT; 29-09-2014 a 14:13

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    mi sembra molto strano, quale ide e quale compilatore?
    provando a stampare un semplice
    codice:
    #include <iostream>
    
    
    using namespace std;
    
    
    int main()
    {
        cout << "Hello world!" << endl;
        return 0;
    }
    che errore compare?


    edit. comunque srand (time(NULL)); deve essere chiamato solo una volta e non sostituisce rand() eh, per generare i numeri casuali bisogna usare sempre rand, ma bisogna inizializzarlo con srand
    Ultima modifica di Rising1; 28-09-2014 a 14:28

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Prova a leggere la documentazione di srand() e di rand() prima di utilizzarli ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    12
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Prova a leggere la documentazione di srand() e di rand() prima di utilizzarli ...
    int generatabelline(int livello)
    {
    srand(time(NULL));
    int a = rand() % livello + 1;
    return a;
    }

    stesso problema sempre.. il numero lo genera.. però lo genera uguale per tutte e due le variabili
    e quando ripete il ciclo invece di prenderne un altro random mi rida la stessa ad esempio genera 8 x 6 continua 8 x 6 per tutti e 10 i cicli di domande mmmm

  7. #7
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    quello che stanno cercando di dirti è questo:

    codice:
    #include ...
    
    int mio_metodo()
    {
        /* qui uso rand() */
    }
    
    int altro_mio_metodo()
    {
        /* qui uso rand() */
    }
    
    ...
    
    int main()
    {
        srand(time(NULL));    /* la metto solo qui */
    
         /* ... resto del codice ... */
    }


  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Quote Originariamente inviata da Chaosweb Visualizza il messaggio
    stesso problema sempre..
    Quindi NON hai letto la documentazione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    12
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Quindi NON hai letto la documentazione ...
    ora si! e funziona. grazie a tutti !

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.