generating random unique numbers

John Kapnogiannis smokejohn at gmail.com
Mon Oct 26 02:30:18 EET 2009


On Monday 26 of October 2009 02:17:29 Christos Bacharakis wrote:
> Καλησπέρα!
> Θα ήθελα την προγραμματιστική βοήθεια σας.
> Θέλω να δημιουργήσω 7 τυχαίους αριθμούς οι οποίοι θα έχουν τιμές από 1 έως
> 7. Ο λόγος που θέλω να το κάνω αυτό είναι για να αλλάζει σε κάθε εκτέλεση η
> σειρά των αριθμών. Η γλώσσα που υλοποιώ το πρόγραμμα είναι C++.
> Μια δικιά μου προσέγγιση η οποία όμως σε κάθε εκτέλεση μου βγάζει τα ίδια
> αποτελέσματα!!!
> 
> for(i=0; i<8; i++){
> pin[i]=i;
> }
> 
> for(i=0; i<8; i++){
> j=rand() % 7;
> k=rand() % 7;
> swap(pin[j],pin[k]);
> 
> }
> 
> 
> 
> Thanks in advance!
> 

Λογικό είναι να σου επιστρέφει πάντα το ίδιο. Πρέπει να κάνεις μια φορά 
srand(seed) για να παίξει. Τώρα στο seed άλλοι βάζουν ότι επιστρέφει η time, 
άλλοι απλώς βάζουν μια μη αρχικοποιημένη μεταβλητή (λίγο κομπαρσιλίκι). 
Υπάρχουν και άλλοι τρόποι για τυχαίους αριθμούς αλλά για τη δουλειά σου και η 
μη αρχικοποιημένη μεταβλητή does the trick.

J


More information about the Linux-greek-users mailing list