View Single Post
Old 16-01-2007, 12:50   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Cittā: TO
Messaggi: 5206
Quote:
Originariamente inviato da Piojolopez2406
ora ho necessitā di copiare nella posizione della prima carta la seconda e viceversa
Codice:
int idx1, idx2;
struct carta tmp;

srand ((unsigned int) time (NULL));

idx1 = rand () % 40;
idx2 = rand () % 40;

tmp = mazzetto[idx1];
mazzetto[idx1] = mazzetto[idx2];
mazzetto[idx2] = tmp;
Nota che:
a) Visto che hai 40 carte, gli indici vanno da 0 a 39 (per quello % 40 e non % 41).
b) Alla fine dell'array devi mettere ....{10,"spade"}};
c) L'operazione di modulo sul valore di rand() non offre una ottima pseudo-casualitā (leggi <qui>).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin č offline   Rispondi citando il messaggio o parte di esso