Мне нужно сгенерировать 8 случайных целых чисел, но они должны быть уникальными, то есть не повторяться.
Например, мне нужно 8 чисел в диапазоне от 1 до 8.
Я видел arc4random, но не знаю, как сделать их уникальными?
Решение
-(NSMutableArray *)getRandomInts:(int)amount from:(int)fromInt to:(int)toInt {
if ((toInt - fromInt) +1 < amount) {
return nil;
}
NSMutableArray *uniqueNumbers = [[[NSMutableArray alloc] init] autorelease];
int r;
while ([uniqueNumbers count] < amount) {
r = (arc4random() % toInt) + fromInt;
if (![uniqueNumbers containsObject:[NSNumber numberWithInt:r]]) {
[uniqueNumbers addObject:[NSNumber numberWithInt:r]];
}
}
return uniqueNumbers;
}
toInt - fromInt
:) все готово. - person Jules   schedule 27.05.2011