PDA

View Full Version : C, Linux - funzione che genera numeri casuali


Mezzelfo
04-09-2003, 21:51
Ciao,
a scuola abbiamo due ore alla settimana di laboratorio di informatica in cui programmiamo in c/c++ con il vecchio TurboC++.
Per generale numeri casuali il nostro prof ci ha detto di usare la funzione (che se nn mi sbaglio si trova nella libreria stdlib.h):
randomize()
abbinata a
random()
Es.
randomize();
variabile=random(x);
Dove x è l'intervallo in cui la funzione deve estrarre i numeri.
In linux a quanto pare questa funzione nn funziona ( ;) ) come dovrebbe/nn esiste...
Mi sapete dire che funzione potrei utilizzare a posto di questa o come dovrei utilizzare questa funzione in linux?

mjordan
05-09-2003, 01:17
Originariamente inviato da Mezzelfo
Ciao,
a scuola abbiamo due ore alla settimana di laboratorio di informatica in cui programmiamo in c/c++ con il vecchio TurboC++.
Per generale numeri casuali il nostro prof ci ha detto di usare la funzione (che se nn mi sbaglio si trova nella libreria stdlib.h):
randomize()
abbinata a
random()
Es.
randomize();
variabile=random(x);
Dove x è l'intervallo in cui la funzione deve estrarre i numeri.
In linux a quanto pare questa funzione nn funziona ( ;) ) come dovrebbe/nn esiste...
Mi sapete dire che funzione potrei utilizzare a posto di questa o come dovrei utilizzare questa funzione in linux?

http://www.gnu.org/manual/glibc-2.2.5/html_node/Pseudo-Random-Numbers.html#Pseudo-Random%20Numbers

Ciao.

mjordan
05-09-2003, 01:19
In Linux quella funzione ( randomize() ) non funziona perchè è un'estensione Borland non standard (tra parentesi ereditata dal Pascal, pare) ;)
Estensioni Borland TC++ ... Puah ... Poi dicono che la scuola non serve a una mazza ... :D

ilsensine
05-09-2003, 06:58
Originariamente inviato da mjordan
In Linux quella funzione ( randomize() ) non funziona perchè è un'estensione Borland non standard (tra parentesi ereditata dal Pascal, pare) ;)

Se non ricordo male, l'istruzione RANDOMIZE esisteva già nel basic del Sinclair Spectrum :eek:

x Mezzelfo: gli standard ISO per i numeri casuali sono rand e srand. In più esistono random e srandom che sono però estensioni BSD (trovi tutte le funzioni sulla pagina 3 di man; ad es. man 3 rand). Se sei paranoico puoi usare /dev/random e /dev/urandom :D

Mezzelfo
16-09-2003, 17:35
Grazie mille per il link.
Mi postate un esempio di come devo inserirle nel codice del mio programma?