feunaye
Messages postés6Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention24 décembre 2003
-
13 déc. 2003 à 21:44
feunaye
Messages postés6Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention24 décembre 2003
-
24 déc. 2003 à 01:54
Salut,
Je dois créer deux vecteurs (ou tableaux) de nombres aleatoires compris entre une borne inf et une borne sup. Ces bornes sont spécifiques è chacun des vecteurs.
Le probleme est que la somme des elements d'un des vecteurs doit etre egale a la somme des elements de l'autre vecteur ; tout en tenant compte des bornes.
Auriez vous une petite idée d'un algorithme qui résolve mon problème svp ?
Merci par avance
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 14 déc. 2003 à 02:36
Bonjour
Tes "nombres aléatoires" doivent-ils être entiers ou bien peuvent-ils être quelconques ? Dans ce dernier cas, ça ne doit pas être bien difficile.
feunaye
Messages postés6Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention24 décembre 2003 14 déc. 2003 à 07:26
Oui, ces nombres doivent etre entiers.
Sûrement, ce n'est pas compliqué, mais pour tout te dire, je fais appel à vous tous après m'être un creusé la tête, et vraiment, je ne trouve pas :-(
feunaye
Messages postés6Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention24 décembre 2003 15 déc. 2003 à 00:42
Bonjour,
Les nombres que tu me demandes seront, eux aussi, aléatoires, c'est l'utilisateur de mon programme qui choisit les valeurs possibles.
En gros, les vecteurs auront une taille entre 1000 et 2000 elements chacun ; pour les bornes, tu peux mettre ce que tu veux (les nbs ne peuvent pas etre négatifs).
Un petit exemple : taille du premier vecteur v1=6, bornes de ses éléments : entre 0 et 7 ; taille du deuxieme vecteur v2=2, bornes de ses elements : de 5 à 10.
v1=(0,1,2,3,4,5)
v2=(8,10)
la somme egal 18, les bornes sont respectées.
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 16 déc. 2003 à 11:58
L'idée de départ pour ton algo pourrait être la suivante :
Soit un tableau de n éléments variant de m (=minimum) à M (=maximum). La somme des n éléments doit être égale à S.
1-Remplir un tableau de n éléments en visant une somme de S, revient à mettre la valeur V dans le 1er élément et remplir un tableau de n-1 éléments en visant une somme de S-V
2-A chaque ajout d'un nouvelle élément dont la valeur serait V, il faut que :
(n-1)*m >= (S-V) ' Il faut que si les n-1 éléments restants ont la valeur mini tu atteignes AU MOINS ta somme cible
ET QUE
(n-1)*M <= (S-V) ' Il faut que si les n-1 éléments restants on la valeur maxi tu atteignes AU PLUS ta somme cible
Bosses avec cela si ca te convient et je fait de même de mon coté