NON ESISTE il concetto di "piu' random possibile":
0) la funzione "srand" va usata UN'UNICA VOLTA PRIMA di usare il generatore di numeri casuali.
ATTENZIONE, se la chiami con lo STESSO parametro, la funzione "random()" generera' SEMPRE la stessa sequenza di numeri.
QUINDI, per assicurarti che generi SEMPRE numeiri diversi, la devi chiamare con un parametro SEMPRE diverso.
Un classico e' usare il timestamp (anno, mese, giorno, ora, minuti,secondi,centesimi di secondo).
1) senza un "generatore hardware di numeri random" non e' possibile generare numeri VERAMENTE random.
2) usare un VERO generatore di numeri random serve in un numero infinitesimale di casi
3) la possibilita' di generare LA STESSA sequenza di numeri random e' estremamente utile per controllare se il programma si comporta in modo corretto oppure no. Ad esempio, se esegui DUE VOLTE lo stesso programma con lo stesso generatore inizializzato nello stesso modo ed ottieni due risultati diversi HAI UN PROBLEMA.
4) c'e' un'INTERO MONDO legato ai generatori di numeri casuali: la funzione "random()" e' SOLO un possibile modo di generarli ed e' il piu' semplice. Modi piu' complessi hanno senso SOLO se hai a che fare con problematiche molto piu' complesse.
5) il generatore di numeri casuali segue opportune DISTRBUZIONI di probabilita'. La piu' semplice e' quella UNIFORME. Se non sai cosa sono, allora non ti serve usare funzioni "piu' randm possibili"
Visto che sei ancora alle prime esperienze, la funzione "random()" e' piu' che sufficiente.
Il problema potrebbe nascere SE usi piu' thread, oppure se devi generare MILIARDI oppure DECINE/CENTINAIA DI MILIARDI di numeri casuali
In questo caso bisogna prendere dei provvedimenti.
Ma suppongo che tu non sappia di cosa stia parlando, QUINDI, "random()" e' piu' che sufficiente.