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