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 -
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;
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;
A voir également:
- Comment travailler avec la fct rand()?????????????
- Comment travailler sur 2 écrans - Guide
- Travailler 1 week-end sur 3 ✓ - Forum Excel
- Comment écrire la formule somme quand on travaille avec des tableaux - Guide
- Reutiliser un fct avec variable modifié ✓ - Forum Python
- Rand() et RAND_MAX ✓ - Forum C
2 réponses
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 ...
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 :
à vérifier.
Musicalement,
DJ Fire-Bl@ck.
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.