Вопрос по ios5, objective-c, iphone – iPhone: Как генерировать случайные заглавные буквы в цели C

2

В моем приложении я хочу генерировать 20 символов верхнего регистра в случайном порядке.

тогда как я могу это сгенерировать.

Любая помощь будет ощутимой.

Спасибо заранее.

как насчет использования ASCIIstackoverflow.com/a/2832750/926460 Timeless

Ваш Ответ

3   ответа
0

Сохраните ВСЕ заглавные символы в массиве и сгенерируйте случайные числа от 0 до 25, используя rand () или arcg4rand (), затем извлеките объект с произвольным индексом соответственно.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0
NSMutableArray *a = [[NSMutableArray alloc] initWithObjects:@"A", @"B", @"C", @"D", @"E", nil]; // You can add more uppercases here.
int firstRandom = objectAtIndex:arc4random()%[a count];
NSString *s = [[NSString alloc] initWithFormat:@"%@", [a objectAtIndex:firstRandom]];
[a removeObjectAtIndex:firstRandom];
// Avoiding some uppercase repetitions. ;-)
for (int i = 0; i < [a count]; i++) {
    int rndm = objectAtIndex:arc4random()%[a count];
    s += [a objectAtIndex:rndm];
    [a removeObjectAtIndex:rndm];
}
NSLog(@"%@", s);
[a release];
[s release];

Надеюсь, что ответ это то, что вы хотите. :-)

Alberto

11

char c = (char)('A' + arc4random_uniform(25))

Даст вам случайный заглавный символ.

Не должно ли это бытьarc4random_uniform(26) ? Поскольку наибольшее число arc4random_uniform (25) равно 24 (согласноman page) и 'A'; + 24 - это «Y».

Похожие вопросы