IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

tirage aléatoire dans un vecteur


Sujet :

C++

  1. #1
    Membre averti
    Femme Profil pro
    etudiant
    Inscrit en
    Avril 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 56
    Par défaut tirage aléatoire dans un vecteur
    Bonjour,

    Comme dit dans le titre, comment est-il possible de tirer un élément aléatoirement dans un vecteur ?
    sachant que ce vecteur et déjà créer et qu'il a une taille n

    Merci

    edit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    struct population {
    	vector<Individual> pop;		//creation of the population
     
     
    };
     
     
    	int p;
    	p=0;
        while(p<n) 
        { 
        	j=randint(0, nb_colonne_matrice);
     
        	element=file[0][j];
        	pop.push_back(element);
     
        }

  2. #2
    Membre éclairé Avatar de Seabirds
    Homme Profil pro
    Post-doctoral fellow
    Inscrit en
    Avril 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Post-doctoral fellow
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 294
    Par défaut
    Salut,

    Mhhh le mieux en général c'est que tu viennes avec une idée de la réponse, que tu montres que tu as déjà réfléchi à la question, que tu nous dise où tu bloques
    Si tu fais ça, tu auras bien plus de réponses !
    Bon courage,
    Seab

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par défaut
    Voici une fonction qui renvoie une chaîne aléatoire composée de chiffre et lettres min/maj:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    std::string RandomBoundary(unsigned len)
    {
    	static char const abclist[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    	static std::minstd_rand rndgen;
    	std::string boundary(len, '0');
    	std::uniform_int_distribution<uint32_t> dis(0, _countof(abclist) - 2);
    	for (char & c : boundary)
    		c = abclist[dis(rndgen)];
    	return boundary;
    }
    Et voici une réponse possible au problème posé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    template<typename T>
    T RandomFromVector(std::vector<T> & values)
    {
    	static std::minstd_rand rndgen;
    	std::uniform_int_distribution<uint32_t> dis(0, values.size() - 1);
    	return values[dis(rndgen)];
    }

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo