Générer une chaà®ne aléatoire
id0ud0u
Membre
Encore une chose : est-il possible d'obtenir une phrase aléatoirement ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Soit tu "randomize" tous les caractères :
+ a -> tu ajoutes a
Tu obtiens un tirage au sort parmis les 26 lettres de l'alphabet.
De plus, ne pas oublier d'initialiser le RNG en appellant srandom, typiquement en passant time(NULL) en paramètre de srandom, pour générer un seed pseudo-aléatoire lui-aussi, du moins différent à chaque appel : [tt]srandom(time(NULL))[/tt]
Oupps, tu as raison, ça aurait fait 27 lettres dans l'alphabet ! Merci Ali pour la précision et surtout pour la méthode, tiens je vais rajouter une heure dans la journée ce qui me laissera plus de temps pour apprendre cocoa...
-(NSString *) randomStringWithCharactersInCharacterSet:(NSCharacterSet*) characterSet;
Alors on pourrait tirer un nombre au hasard entre 0 et 2^16, correspondant à un codepoint unicode, et vérifier qu'il est contenu dans le NSCharacterSet, si oui on l'ajoute à notre chaà®ne random, sinon on passe et on réessaye... mais on risque fort de tomber sur beaucoup de cas où le caractère n'est pas dans le NSCharacterSet et donc beaucoup de "loupés"... du coup la génération de la chaà®ne risque de prendre du temps parce qu'on aura fait plein de tirages non confirmes au set...
Ou alors demander la bitmapRepresentation du NSCharacterSet, puis compter le nombre de 1 (donc de caractères)... ensuite tirer un nombre entre 0 et ce nombre de caractères, et chercher dans la bitmapRep le n-ième caractère... tout aussi laborieux... tout ça pour une pauvre chaà®ne random ^^
Après on tire au hasard dans le tableau.