Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Rand e numeri negativi
Forum - C/C++ - Rand e numeri negativi

Avatar
Teleutes (Normal User)
Newbie


Messaggi: 2
Iscritto: 23/01/2006

Segnala al moderatore
Postato alle 21:30
Lunedì, 23/01/2006
Salve ragazzi! Sono nuovo e sto studiando il linguaggio C...Ultimamente sto scrivendo due programmini e in uno avevo bisogno di generare dei numeri positivi e negativi che poi andrebbero inseriti in un array bidimensionale quadrato...Ora stavo pensando che potrei fare un semplice rand e poi dire che magari i primi 20 numeri li moltiplica per -1 e gli altri li lascia invariato ma cos? effettivamente avrei per forza in ordine prima i negativi e poi i positivi... invece ho bisogno che si generino a caso sia quelli pos. sia quelli neg.

Qualcuno sa consigliarmi un metodo migliore ?

Grazie e scusate se magari ? una domanda stupida 8-|:D

PM Quote
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 23:27
Mercoledì, 25/01/2006
Ponendo n come fattore di scala, la generazione di numeri casuali compresi tra -n/2 e n/2 viene eseguita nel modo seguente:

Codice sorgente - presumibilmente Plain Text

  1. rand() % n - n/2;


Ad esempio, volendo assegnare all'ipotetica variabile a un valore compreso tra -10 e 10 si pu? scrivere:

Codice sorgente - presumibilmente Plain Text

  1. a = rand() % 21 - 10;


Ultima modifica effettuata da Zizzius il 25/01/2006 alle 23:28
PM Quote
Avatar
Teleutes (Normal User)
Newbie


Messaggi: 2
Iscritto: 23/01/2006

Segnala al moderatore
Postato alle 18:51
Giovedì, 26/01/2006
Grazie Mille Zizzius..poi mi sono reso conto della semplicit? della cosa e non ci crederai mai ma mi ? venuta la soluzione in sogno :rotfl:

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 22:45
Giovedì, 26/01/2006
Io ci credo, le idee pi? geniali mi vengono sempre mentre dormo. :)


Il mio blog: https://piero.dev
PM Quote
Avatar
Zizzius (Honoris User)
Guru


Messaggi: 675
Iscritto: 28/02/2005

Segnala al moderatore
Postato alle 20:09
Venerdì, 27/01/2006
L'importante ? non dormire quando devono venire le idee geniali... :rotfl::rotfl:

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:56
Lunedì, 12/05/2014
E se invece di fare...

Codice sorgente - presumibilmente Plain Text

  1. rand() % n - n/2;



...uno mettesse insieme una funzione di questo tipo?

Codice sorgente - presumibilmente C++

  1. short caso_con_segno( short limite ) {
  2.     short caso = rand() % limite;
  3.     if( rand()%2 ) caso = -caso;
  4.     return caso;
  5. }



Lo so che a questo modo si "mangiano" un bel po' di passaggi, ma non si avrebbe la possibilità di una gamma di valori più ampia?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:13
Lunedì, 12/05/2014
Aldo, questo e' un post di 8 anni fa.

Normalmente non si risponde a topics che sono stati aperti molto tempo fa.


Il mio blog: https://piero.dev
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 17:55
Lunedì, 12/05/2014
Va bene, faccio tesoro. Tieni presente che sono "nuovo".

PM Quote