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

    [c++] funzione rand range definito di valori

    Salve a tutti la domanda di oggi potrebbe essere al quanto banale... (purtroppo )

    Perche per avere un range di numeri random da 1 a 6 devo eseguire l'istruzione:

    1 + rand() % 6

    cioè: se rand restituisce un numero tipo 1403307203 come fa l'espressione:
    1 + 1403307203 % 6
    a restituire un carattere tra 1 e 6??

    Spero di essermi spiegato bene

    Grazie di tutto
    Andrea

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Intanto partiamo dal fatto che in un ranch ci puoi trovare cowboy e animali ma non ha nulla a che vedere con quello che intendi tu (che è range).

    A parte questo, la risposta alla tua domanda è in quell'operatore

    %

    Se tu sapessi bene a cosa serve e come funziona, non ti faresti proprio questa domanda ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Scusa la mia ignoranza... Comunque so che l'operatore modulo restituisce il resto di una divisione ad esempio:

    6 % 2 = 0
    5 % 2 = 1

    1403307203 % 6 = 5

    poiche: 1403307203 / 6 = 233884533*6
    1403307203-(233884533 * 6) = 5

    Non riesco a capire però il perche...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma il perché di cosa?

    Il resto di una divisione per 6 quale può essere ?

    (parliamo delle divisioni tra interi fatte alle elementari) ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Perchè un numero random diviso 6 non da mai un valore maggiore di 6? ecco la domanda..

    che più in generale diventa.. perchè un (dividendo)numero qualsiasi diviso per un determinato divisore non da mai un resto maggiore di esso (divisore)?...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da cataDesign
    che più in generale diventa.. perchè un (dividendo)numero qualsiasi diviso per un determinato divisore non da mai un resto maggiore di esso (divisore)?...
    Perché, in caso contrario, lo dividi ancora no?

    Scusa ma parliamo proprio di cognizioni elementari ... il resto di una divisione per n è compreso tra 0 e (n-1) ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Si infatti non avevo pensato che è impossibile avere un resto maggiore perche viene diviso nuovamente...

    Grazie per aver risposto alla mia domanda se pur cosi elementare e stupida...
    Grazie ancora

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.