Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde Pessoal,
Estou começando a aventurar nos aplicativos da apple. Pois bem estou desenvolvendo um app que o usuário ao clicar no botão Mega sena apareça números aleatórios em ordem crescente de 1 a 60 e sem repetiçao de números.
int randomNumber = (arc4random() % 5) + 1;
int randomNumber1 = (arc4random() % 15)+ 1;
int randomNumber2 = (arc4random() % 30)+ 1;
int randomNumber3 = (arc4random() % 40)+ 1;
int randomNumber4 = (arc4random() % 50)+ 1;
int randomNumber5 = (arc4random() % 60)+ 1;
_Resultado.text = [NSString stringWithFormat:@"%i-%i-%i-%i-%i-%i", randomNumber,randomNumber1,randomNumber2,randomNumber3,randomNumber4,randomNumber5];
No entanto nesse meu código ae, não está em ordem crescente e aparece números repetidos.
Alguem tem uma idéia de implementar isso ae.
Desde já agradeço a todos.
Tem algumas formas de fazer isso, todas envolvem que você coloque os números em uma array, como array só aceita objeto você precisaria trabalhar com NSNumber.
Feito isso:
1. usando sort descriptor:
//Usando sort descriptor para ordenar
Não tenho certeza se vai funcionar dessa forma... teoricamente é para pegar a propriedade do objeto intValue e ordenar a partir daí. Em tese funciona.
2. Fazendo 2 "for"s para ordenar a lista:
for (int i=0;i<[array size]-1 ;i++ )
{
Simples.
Outra coisa... o teu gerador de números está errado... se você quer 6 números que não se repitam você teria que gerar números de 1 a 60 e verificar se os mesmos já não foram cadastrados (uma função para isso viria bem a calhar) e só assim acrescentar na array.
E só parar quando a array tiver a quantidade de números desejados.
Via de regra, se você está usando variavéis numeradas como em randomNumber1/2/3/4/etc você está fazendo algo que poderia ser feito via arrays. Quanto mais genérico for o código, melhor.