C ++ srand () - Βασική βιβλιοθήκη C ++

Η συνάρτηση srand () στο C ++ σπέρνει την ψευδο γεννήτρια τυχαίων αριθμών που χρησιμοποιείται από τη συνάρτηση rand ().

Η συνάρτηση srand () στο C ++ σπέρνει την ψευδο γεννήτρια τυχαίων αριθμών που χρησιμοποιείται από τη συνάρτηση rand (). Η λειτουργία seed for rand () είναι 1 από προεπιλογή.

Σημαίνει ότι εάν δεν καλείται κανένα srand () πριν από το rand (), η συνάρτηση rand () συμπεριφέρεται σαν να είχε σπαρθεί με το srand (1).

πρωτότυπο srand ()

 άκυρο srand (χωρίς υπογραφή int seed)

Η συνάρτηση srand () παίρνει έναν μη υπογεγραμμένο ακέραιο ως παράμετρο που χρησιμοποιείται ως σπόρος από τη συνάρτηση rand ().

Ορίζεται στο αρχείο κεφαλίδας.

srand () Παράμετροι

  • seed: Τιμή σπόρου τύπου χωρίς υπογραφή int

srand () Τιμή επιστροφής

  • Κανένας

Η συνάρτηση srand () δεν επιστρέφει καμία τιμή.

Παράδειγμα 1: Πώς λειτουργεί η λειτουργία srand ();

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Σπόρος = 1, Τυχαίος αριθμός = 41 Σπόρος = 5, Τυχαίος αριθμός = 54

Είναι καλή πρακτική να σπέρνετε την ψευδο γεννήτρια τυχαίων αριθμών μόνο μία φορά στην αρχή του προγράμματος και πριν από οποιεσδήποτε κλήσεις rand (). Δεν πρέπει να σπέρνεται κάθε φορά που πρέπει να δημιουργήσουμε ένα νέο σύνολο αριθμών.

Η συνήθης πρακτική είναι να χρησιμοποιήσετε το αποτέλεσμα μιας κλήσης προς το χρόνο (0) ως σπόρος. Η συνάρτηση ώρας () επιστρέφει τον αριθμό των δευτερολέπτων από τις 00:00 ώρες, 1 Ιανουαρίου 1970 UTC (δηλαδή την τρέχουσα χρονική σήμανση unix). Η αξία του σπόρου αλλάζει με το χρόνο. Έτσι, κάθε φορά που εκτελούμε το πρόγραμμα, δημιουργείται ένα νέο σύνολο τυχαίων αριθμών.

Παράδειγμα 2: συνάρτηση srand () με χρόνο ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Σπόρος = 1485583981 Τυχαίος αριθμός = 22589

ενδιαφέροντα άρθρα...