Newsgroup: it.comp.lang.c++
Titolo: vettore casuale....

Ciao ragazzi,
io più di questo non so cosa fare per avere un vettore decisamente
mischiato:
#include <iostream>
#include "utilita.h"
#include <time.h>
int main(){
int numeri[12]={0,1,2,3,4,5,6,7,8,9,10,11};
   int x, y, c, C;
   time_t ttt;
   for (C=0; C<20; C++){
    for (c=0; c<12;c++){
    randomize;
      ttt=time(NULL);
    srand(ttt);
      x=rand()%12;
      y=numeri[c];
    numeri[c]=numeri[x];
    numeri[x]=y;};
      };
for (c=0;c<12;c++){
cout << numeri[c] << " ";};
cin >> x;
return 0;
}
help me. qualcosa di davvero valido. :-((((
ivan

 help me. qualcosa di davvero valido. :-((((
Beh, cose valide ti sono state dette piu' volte, se non riesci a metterle in
 pratica TU non e' colpa nostra ;-)
Tommy
P.S. se usi VC++6 devi togliere "int" da "int m" negli ultimi 2 cicli! (e'
un suo errore!)

 ha scritto nel messaggio
news:b3tvaq$p8h$1...@sparta.btinternet.com...
|
| "Ivan Sofa n.1" <dromeda...@inwind.itDELETE> wrote
|
| >     randomize;
| >     srand(ttt);
| >       x=rand()%12;
| > help me. qualcosa di davvero valido. :-((((
|
| Il resto non 'ho nemmno guardato, mi sembra un pasticcio.
CUT CUT CUT
grazie davvero per il codice, meno per le critiche... :-)
il pasticcio che ho postato è frutto di innumerevoli tentativi, in origine
anche il mio era bello semplice....
ivan

Ho qualcosa da chiederti sul tuo codice....
|
| <CODE>
| #include<iostream>
| #include<ctime>
ctime, niente sconosciuto al Borland 5.02. non sa cosa sia. ho provato anche
con ctime.h. forse volevi scrivere time?
| using namespace std;
perchè  mai il Borland mi da errore qui? me lo sono sempre chiesto.
per il resto il codice va alla grande, ora devo capire bene come l'hai
*pensato* e capire questi benedetti comandi srand, rand, randomize, ecc.
grazie ancora
ivan

 perchè  mai il Borland mi da errore qui? me lo sono sempre chiesto.
Forse stai utilizzando una versione del compilatore troppo vecchia.
Perché non ti aggiorni al gratuito Borland C++ 5.5?
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 *pensato* e capire questi benedetti comandi srand, rand, randomize, ecc.
randomize lascialo perdere, non e' standard!
srand() va chiamato una volta sola e serve per settare il seed per la
funzione rand().
Il modo piu' "random" per settarlo e' usare il clock del computer, time(0)
va bene!
Ora che il seed (numero usato da rand()) e' diverso ad ogni esecuzione
(time(0) restituira' valore diverso ogni volta), allora puoi usare rand().
(potevi anche prima, ma ogni esecuzione avrebbe generato la stessa
sequenza!).
Vedrai che non fai fatica a capire come l'ho "pensato"! E' semplice.
Tommy

 ha scritto nel messaggio
news:b3u4m3$3bh$1...@sparta.btinternet.com...
|
| "Ivan Sofa n.1" <dromeda...@inwind.itDELETE> wrote
| > ctime, niente sconosciuto al Borland 5.02. non sa cosa sia. ho provato
| anche
| > con ctime.h. forse volevi scrivere time?
|
| Io intendevo <ctime>, ma se hai un compilatore vecchio scrivi pure time.h
e
| iostream.h.
| Sui nuovi tuttavia devi mettere iostream e ctime.
|
| > | using namespace std;
| > perchè  mai il Borland mi da errore qui? me lo sono sempre chiesto.
|
| Hai un compilatore vecchio! Dovrebbe darti errore se non lo metti.
| O meglio se non lo metti dovresti poi scrivere std::cout << "Tommy" <<
| std::endl;
| Amen, non metterlo! (ma cambia compilatore quando puoi!)
|
Si, sarà la prima cosa che farò, sto già cercando. Prendo il Borland 5.5
free dal loro sito? mi dice come data 2000.
oppure riscarico il Dev? cosa ci trovo come compilatore?
| > per il resto il codice va alla grande, ora devo capire bene come l'hai
| > *pensato* e capire questi benedetti comandi srand, rand, randomize, ecc.
|
| randomize lascialo perdere, non e' standard!
| srand() va chiamato una volta sola e serve per settare il seed per la
| funzione rand().
| Il modo piu' "random" per settarlo e' usare il clock del computer, time(0)
| va bene!
| Ora che il seed (numero usato da rand()) e' diverso ad ogni esecuzione
| (time(0) restituira' valore diverso ogni volta), allora puoi usare rand().
| (potevi anche prima, ma ogni esecuzione avrebbe generato la stessa
| sequenza!).
|
| Vedrai che non fai fatica a capire come l'ho "pensato"! E' semplice.
si, ho notato, ti ringrazio tantissimo.
cmq penso che dopo aver cambiato sto benedetto compilatore vecchio i
problemi inizieranno a scemare. Spesso ho reputato a mia incapacità non
riuscire a trascivere codice trovato sul Ng ma penso che almeno nel 5% dei
casi ci fosse altro di mezzo.....
:-)
grazie ancora
ivan

 grazie ancora
Prego,
Tommy

 oppure riscarico il Dev? cosa ci trovo come compilatore?
Il compilatore gratuito della Borland ha in effetti due o tre anni. Se
quello che ti interessa e' imparare il C++ standard ti consiglio di
utilizzare Dev-C++ ed il compilatore MinGW (gcc per Windows).
Assicurati di avere almeno la versione 3.2 del compilatore.
 
Ciao,
Nicola