Mało wydajne to rozwiązanie kolegi wyżej.
http://cpp0x.pl/dokumentacja/standard-C++/vector/819
Lepiej użyć std::vector i losować indeks tablicy wypełnionej liczbami z których chcesz losować, a po wylosowaniu zamienić element wylosowany z ostatnim i go usunąć za pomocą pop_back(). Zauważ, że w między czasie zmniejsza się wielkość tablicy, więc musisz losować z przedziału < 0, rozmiar_tablicy ).
Tym sposobem będziesz losował dokładnie tyle razy ile potrzebujesz.