Tru99
Tru99

Reputation: 33

In xcode, can I make random() or arc4random choose from a set?

Suppose I have a list of numbers, ie. (240, 320, 640, 920) and I want to select one of these four numbers at random. Can I do this with random or arc4random?

Upvotes: 0

Views: 3996

Answers (3)

Jacob Relkin
Jacob Relkin

Reputation: 163288

Yes, but you'll need to use an array:

int numbers[4] = {240,320,640,920};
int random = numbers[(arc4random()%4)];

By the way, arc4random() is a lot better than random() because it doesn't need to be seeded.

Upvotes: 4

taskinoor
taskinoor

Reputation: 46037

You can do it easily, not directly with random or arc4random. Store the numbers in an array and select a random number using random or arc4random in the range of 0 to length(array) - 1. Then use that number as the index of the array. And this technique will work in any place, not in just iPhone.

Upvotes: 0

Tuomas Pelkonen
Tuomas Pelkonen

Reputation: 7831

int values[4] = {240, 320, 640, 920};
int value = values[random() % 4];

Upvotes: 2

Related Questions