| Precedente :: Successivo | 
	
	
		| Autore | Messaggio | 
	
		| ZTP Eroe
 
  
  
 Registrato: 17/02/09 23:40
 Messaggi: 60
 Residenza: Terra, terzo pianeta dal Sole
 
 | 
			
				|  Inviato: 28 Feb 2009 23:40    Oggetto: * C++ problema randomize() |   |  
				| 
 |  
				| Premetto che ho iniziato a studiare il C++ da molto poco, e quindi il problema potrebbe essere molto stupido ._. Però un programma semplicissimo, che dovrebbe - in teoria - generare un numero casuale da 0 a 9 e stamparlo, non funziona! Eppure l'ho ricopiato pari pari dal libro  Questo è il codice: 
 
  	  | Citazione: |  	  | #include <iostream> #include <ctime>
 #include <cstdlib>
 using namespace std;
 
 int main()
 {
 randomize();
 int n;
 n = rand(10);
 cout << n;
 return 0;
 }
 | 
 
 Ho provato a sostituire ctime con time.h e cstdlib con stdlib.h, a inserire tutte e quattro, a mettere anche stdio.h... Ma il compilatore continua a rompere sul randomize().
 Dov'è che ho sbagliato?
 |  | 
	
		| Top |  | 
	
		|  | 
	
		| chemicalbit Dio maturo
 
  
  
 Registrato: 01/04/05 18:59
 Messaggi: 18597
 Residenza: Milano
 
 | 
			
				|  Inviato: 01 Mar 2009 00:09    Oggetto: Re: C++ problema randomize() |   |  
				| 
 |  
				| Cioé? 	  | ZTP ha scritto: |  	  | Ma il compilatore continua a rompere sul randomize(). | 
 Aiutaci ad aiutarci
  |  | 
	
		| Top |  | 
	
		|  | 
	
		| ZTP Eroe
 
  
  
 Registrato: 17/02/09 23:40
 Messaggi: 60
 Residenza: Terra, terzo pianeta dal Sole
 
 | 
			
				|  Inviato: 01 Mar 2009 20:26    Oggetto: |   |  
				| 
 |  
				| ^^ In pratica è come se non lo riconoscesse... Testualmente: 
 'randomize' undeclared (first use this function)
 
 e poi, a ruota:
 
 'random' undeclared (first use in this function)
 
 Come se provassi a scrivere pow(x,2) senza aver inserito la funzione <cmath> (ad esempio).
 Mi viene il dubbio che possano essere altre le librerie che mi servono... oppure le stesse scritte in un modo diverso...
 |  | 
	
		| Top |  | 
	
		|  | 
	
		| freemind Supervisor sezione Programmazione
 
  
  
 Registrato: 04/04/07 21:28
 Messaggi: 4643
 Residenza: Internet
 
 | 
			
				|  Inviato: 01 Mar 2009 21:19    Oggetto: |   |  
				| 
 |  
				| Che compilatori stai usando? randomize() non è standard quindi magari anche sul tuo testo viene usata tu potresti non averla
 |  | 
	
		| Top |  | 
	
		|  | 
	
		| ZTP Eroe
 
  
  
 Registrato: 17/02/09 23:40
 Messaggi: 60
 Residenza: Terra, terzo pianeta dal Sole
 
 | 
			
				|  Inviato: 01 Mar 2009 21:27    Oggetto: |   |  
				| 
 |  
				| Uso il Dev C++  Possono variare così tanto le librerie da un compilatore all'altro? |  | 
	
		| Top |  | 
	
		|  | 
	
		| freemind Supervisor sezione Programmazione
 
  
  
 Registrato: 04/04/07 21:28
 Messaggi: 4643
 Residenza: Internet
 
 | 
			
				|  Inviato: 01 Mar 2009 23:22    Oggetto: |   |  
				| 
 |  
				| Le librerie standard tra un compilatore e l'altro non cambiano, il problema sono quelle non standard (idem per le funzioni). C++ è general purpose quindi fa di tutto e viene usato ovunque, per questo è molto plasmabile...
 
 Tornando al tuo problema potresti usare le funzioni srand e rand così:
 
  	  | Codice: |  	  | include <iostream>
 include <ctime>
 
 using namespace std;
 
 int main()
 {
 srand((unsigned)time(NULL));   // inizializza il seme
 
 int x=rand() % 10;   // genera un numero random nell'intervallo [0;9]
 
 cout<<x<<endl;
 
 return (0);
 }
 
 | 
 |  | 
	
		| Top |  | 
	
		|  | 
	
		| ZTP Eroe
 
  
  
 Registrato: 17/02/09 23:40
 Messaggi: 60
 Residenza: Terra, terzo pianeta dal Sole
 
 | 
			
				|  Inviato: 02 Mar 2009 20:03    Oggetto: |   |  
				| 
 |  
				| Fantastico! Così funziona perfettamente! Grazie mille  |  | 
	
		| Top |  | 
	
		|  | 
	
		| freemind Supervisor sezione Programmazione
 
  
  
 Registrato: 04/04/07 21:28
 Messaggi: 4643
 Residenza: Internet
 
 | 
			
				|  Inviato: 02 Mar 2009 20:43    Oggetto: |   |  
				| 
 |  
				| Potere informatico!  |  | 
	
		| Top |  | 
	
		|  | 
	
		|  |