Musíš inicializovat seed. Ta funkce rand generuje pořád stejnou posloupnost, takže záleží, jak ji inicializuješ. Třeba pomocí time(NULL), ale může to být jakékoliv jiné celé číslo. Mrkni sem.
http://www.cplusplus.com/reference/cstdlib/rand/
http://www.cplusplus.com/reference/cstdlib/srand/