I wonder if anyone can help... I have done some debugging, and it looks like my random function either isnt being called each time as expected or isnt producing random numbers - just same numbers each time?
By putting srand in GetNumbers you are calling it for each line and the time update won't be sufficient to change the seed. Effectively, you start from the same point in the random-number sequence for each line.
Move the call to srand to where it will be called only once; e.g the start of main.
I see you are calling the function GetNumbers() repeatedly in a loop.
That would be ok, but for one problem. The function GetNumbers() itself calls srand() using the current time as a seed. If (as is almost a certainty) the loop executes entirely within the same second of time, the seed will be identical each time (since the time is still at the same second) and that resets the number generator to repeat the same sequence.
What you should do is move the srand() call from the loop. Call it just once at the start of main() .