Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Domanda numeri casuali in C...

    Salve a tutti!

    Volevo porre un quesito sicuramente di semplice risoluzione.

    Generando dei numeri casuali con l'ausilio delle funzioni srand() e rand(), ho notato che ad esempio..

    per x = rand() % 150;
    genera dei numeri compresi nell'intervallo tra 0 e 150.

    per x = 3 + rand() % 150;
    genera dei numeri compresi nell'intervallo tra 3 e 150.

    mentre..per es.

    per x = 10 + rand() % 150;
    genera dei numeri compresi tra 10 e 160.

    Perchè nell'ultimo il limite max sfora di 10 e nel secondo caso invece il limite non sfora di tre come invece un neofita come me sarebbe portato a pensare?

    Grazie a tutti!
    CIAO!

  2. #2
    ...normalmente nel terzo caso dovrebbe generare dei numeri compresi nell'intervallo tra 10 e 150 come per il secondo caso genera i numeri tra 3 e 150.

  3. #3
    l'operatore "%" ha la precedenza sull'operatore "+" pertanto

    3 + rand() % 150

    dovrebbe calcolare dei numeri tra 3 e 153
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  4. #4
    E come faccio allora a pescare un numero compreso tra 3 e 150 o tra 10 e 150 utilizzando l'operatore modulo???

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Nel primo caso:
    3 + rand() % 147;
    nel secondo:
    10 + rand() % 140;
    Ciao,
    Lorenzo

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 © 2025 vBulletin Solutions, Inc. All rights reserved.