2009-11-28 8 views
0

Comment générer des caractères aléatoires et des entiers dans une méthode afin que la méthode peut être appelée en main() et que la méthode génère les caractères aléatoires et entiers ensemble. I ne veulent pas veulent une méthode qui génère des caractères et d'autres méthodes qui génèrent des entiers.Générer caractères aléatoires et entiers en C++

+0

Voulez-vous les un à la fois, peut-être en alternance chars et ints, ou voulez-vous un paramètre qui indique combien de générer? Que voulez-vous utiliser pour les valeurs générées aléatoirement? –

Répondre

4

Vous pouvez écrire une méthode similaire (en supposant que vous voulez seulement minuscules caractères anglais, vous pouvez l'étendre):

void generate(char& ranChar, int& ranNmber) 
{ 
    //Generate a random number in the range 0-25 and add the ascii value 'a' 
    ranChar = rand() % 26 + 'a'; 
    ranNumber = rand(); 
} 

int main() 
{ 
    //Seed the random number generator with the current time 
    srand(time(NULL)); 
    char ch; 
    int n= 0; 
    generate(ch,n); 
    return 0; 
} 
+0

Quelle est la 27ème lettre de l'alphabet anglais? : D –

+0

Je reçois l'erreur, 'temps': identifiant non trouvé –

+0

#include Naveen

0

Vous pouvez utiliser boost::tuple, comme ceci:

boost::tuple<int, char> gen() { 
// srand() etc 
return make_tuple(rand(), (rand() % ('z' - 'a' + 1)) + 'a'); 
} 
Questions connexes