Here's one way, and you'll like it:
Make an integer array with the numbers that you want to randomly select from. Say I want random numbers 0-9, and each one never repeating.
//set srand() up before the loop
Use a for loop, from 1 to 7 (or so), get a random number in the range of 0 to 9
swap array[i] with array[random Number], in the usual way:
and you're done.
temp = array[i];
array[random number]= temp;
You'll want to do at least 5 swaps, since you are moving two values, across an array of 10 values. To be more random, you may want to do 10 swaps, and do use a better random number design if you want REAL random performance. Generating truly good random numbers, is a lot more challenging than it looks. Thankfully, there are libraries that can help if that high a level of randomness, is needed. (doubtful, but just in case).