Comment travailler avec la fct rand()?????????????

Résolu
croiyance Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
croiyance Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


j'ai un problème avec la fonction rand() comment travailler avec une telle fonction ;
moi je souhaite avoir un tableau tab[N] et je veut avoir un élément aléatoire de ce tableau pour la sélection de la population initiale (algo génétique) et je veut aussi des lient pour télécharger des livres pour apprendre à programmer le c++

Merci;

2 réponses

Utilisateur anonyme
 
Salut,

rand() va retourner une valeur qui n'est peut être pas comprise dans les limites de ton tableau.
Il faut fractionner la valeur de retour de rand() si tu veux qu'elle soit comprise dans une certaine échelle.

Il faut donc aussi connaître la taille de ton tableau.
Si elle est fixe, pas de soucis, par contre si elle est variable ...

#include <stdlib.h>  

inline int RangedRand( int range_min, int range_max )  
{  
 return (int)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;  
}  


Et pour connaître le nombre d'éléments de ton tableau :
https://www.commentcamarche.net/contents/120-langage-c-les-tableaux

Donc on pourrait imaginer quelque chose du style :
int nombre_elements = sizeof(tontableau) / sizeof(typeof(tontableau));

Et ainsi utiliser :

int nombre_elements = sizeof(tab) / sizeof(typeof(tab));  
int element = RangedRand( 0, nombre_elements - 1 );  
tab[element] ......  


à vérifier.
Musicalement,
DJ Fire-Bl@ck.
0
croiyance Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
salut;

merci bcp DJ Fire-Black vous m'avez aidez à travailler avec la fonction rand() marci encor une fois
0