====== Η srand ======
Ο σκοπός της ''**srand**'' είναι να παρέχει έναν αρχικό σπόρο (seed) στο σύστημα παραγωγής ψευδοτυχαίων αριθμών. Δέχεται μία παράμετρο (που είναι unsigned int) την οποία χρησιμοποιεί για να __καθορίσει την ακολουθία των ψευδοτυχαίων αριθμών__ που παράγονται από τις κλήσεις της ''**rand**'' από εκείνη τη στιγμή και μετά.
Δηλαδή για μία οποιαδήποτε δεδομένη τιμή του σπόρου, __**η ακολουθία** των αποτελεσμάτων που δίνουν διαδοχικές κλήσεις στη συνάρτηση ''**rand**'' (ενώ διαφέρουν από τη μία κλήση στην άλλη), **θα είναι πάντα η ίδια**__. Έτσι κάθε φορά που θα εκτελείται ο κώδικας, θα προκύπτουν τα ίδια αποτελέσματα.
Αυτό φυσικά δεν ταιριάζει με τον σκοπό να είναι τα αποτελέσματα όσο πιο τυχαία γίνεται. Έτσι θα πρέπει να δωθεί ως παράμετρος στην ''**srand**'' ένας αριθμός που είναι διαφορετικός κάθε φορά που εκτελείται το πρόγραμμά μας.
Ένας καλός υποψήφιος για αυτή τη δουλειά είναι η χρονική στιγμή κατά την οποία ξεκινά η εκτέλεση του προγράμματος. Έτσι θα χρησιμοποιήσουμε τη συνάρτηση ''**time(NULL)**'' ( ή ''**time(0)**'' ), η οποία επιστρέφει τον αριθμό των δευτερολέπτων που έχουν περάσει μέχρι τη στιγμή που καλείται, μετρώντας από την 1/1/1970. Άρα σε κάθε εκτέλεση είναι διαφορετική η τιμή αυτή. Μπορείτε να δείτε περισσότερα στη σελίδα:\\
[[https://www.tutorialspoint.com/c_standard_library/c_function_time.htm]]
Άρα καλή πρακτική είναι στην αρχή κάθε προγράμματος που θα χρησιμοποιήσει την ''**rand**'' να μπαίνει ο παρακάτω κώδικας που ορίζει το seed (τον σπόρο).
''**srand( time( NULL ) );**''
ή
''**srand( time( 0 ) );**''
Για να χρησιμοποιήσετε την ''**time**'' θα πρέπει να κάνετε ''**__#include __**'' ενώ εάν έχετε χρησιμοποιήσει τη γραφή με το ''**NULL**'', ίσως χρειαστεί να κάνετε και ''**__#include __**''.
**ΠΡΟΣΟΧΗ!** Η ''**srand**'' θα πρέπει να καλείται __μία φορά πριν την πρώτη χρήση της ''**rand**''__ στην αρχή του κώδικα - καλύτερα να είναι μία από τις πρώτες εντολές της ''**main**'' - και όχι κάθε φορά που χρησιμοποιείται η ''**rand**''. Δείτε και αυτό το σχετικό άρθρο:\\
[[https://stackoverflow.com/questions/7343833/srand-why-call-it-only-once]]