I'm really not sure how to approach this problem anymore.
I'm going to type it out really pedantically to try and figure it out for myself - but any suggestions greatfully received.
PROBLEM: Pick p numbers from n (n>>p) with no repetition.
SOLUTION: create choices[p] and delete p[i] from the source array at the ith step.
Easy, surely?
I have the feeling that I need to think a little more laterally than I am at the moment. Currently, I have a subfunction that deletes an element from the array - which requires wiping an array created in main, making a new one with the same name obviously and then returning to main pretending that nothing has happened. (It's a void function) - I think this is the main problem with my current approach.