Allora invece di time(0) come seme usa clock(), che non è espresso in secondi e cambia ogni miliardesimo di secondo (se hai un processore da 1ghz).
Poi se vuoi rendere ancora più efficace la funzione, puoi inserire tante variabili come seme per rendere la combinazione imprevedibile:

codice:
// questo dentro la funzione per calcolare il valore random
static int seed=0;
srand(clock()+seed);
seed++;