Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Prendre un élément aléatoire dans un tableau [ Archives / Divers ] (zeguizmo)

samedi 14 janvier 2006 à 18:04:46 | Prendre un élément aléatoire dans un tableau

zeguizmo

Salut a tous,

Je souhaite prendre un élément dans un tableau de facon totalement aléatoire.
Je m'explique avec un petit bout de code :

public class MyClass
    {
        public static string[,] MyArray = new string[2,2] {{"a","50"} , {"b","25"},
{"c","25"}} ;
    }


Cette fonction déclare un tableau : MyArray.
Je souhaite faire une fonction qui me prend un des trois éléments du tableau, de facon totalement aléatoire, mais tout de même soumis à une probabilité définie dans la deuxième colone du tableau.

Exemple, si il y a 3 élément, je veux qu'un élément - a - tombe 1 fois sur deux (proba 50 %)  donc la deuxieme colone prend pour valeur 50 a cet élément
Et les deux autres 1 fois sur 4 (proba 25 %) les colones prennent alors chacune 25

La somme des probas devra faire 100 % ce qui est le cas

Mon probleme est que je ne sais pas comment réaliser cette fonction, j'avais pensé a une methode : générer un nombre aléatoire entre 0 et 100, et faire une petite modif pr la colone probabilité : les sommer.
Ainsi, on aurait notre tableau agencé de cette facon

a   50
b   75
c   100

Et si le nombre généré aléatoirement tombe entre 0 et 50, la fonction retournerait a, entre 50 et 75 la fonction retournerait b, entre 75 et 100 la fonction retournerait c.

Exactement ce que je souhaite

Mais cette fonction "scannerait" tous les éléments du tableau (ou une bonne partie) pour trouver quel élément tirer ce qui est très gourmant en ressources, surtout que mes tableaux vont contenir bcp d'élements.

Y aurait-il une solution plus optimisée  ?

Merci bcp d'avoir tout lu :) je sais que je m'exprime pas très clairement :)

ZeGuizmo

lundi 16 janvier 2006 à 13:32:57 | Re : Prendre un élément aléatoire dans un tableau

taoetc

Tu as des algo de recherche qui te permettent de ne pas lire tous les éléments d'un tableau. : style recherche dicotomique ( il me semble)

algo du type :
je regarde l'élement central de ma liste :
 je regarde si je suis supérieur ou égale à ma valeur médiane.
je définis ma nouvelle liste soit la moitié gauche, soit la moitié droite ,et je recommence l'algo

ou alors des algo detri style tri à bulle  sur lesquels tu peux t'appuyer pour créer ton algo de recherche de l'élement que tu cherches ou l'émement le plus approchant

Be happy , by
Tao


lundi 16 janvier 2006 à 13:37:31 | Re : Prendre un élément aléatoire dans un tableau

zeguizmo

OK je vais chercher dans cette voie.

Merci

ZeGuizmo



Cette discussion est classé dans : fonction, élément, prendre, aléatoire, tableau


Répondre à ce message

Sujets en rapport avec ce message

fonction qui retourne un tableau ? [ par patemino ] Voila est-ce qu'une fonction peut retourner un tableau ?Si oui comment ?Quelque chose comme :private "UnMotClef" Lister(string Dossier) { Array.Sort() [ par engelho ] Bonjour,Je possède un un tableau que je souhaite trier. Toutefois ce tableau comprend des objets...J'ai implémenté la fonction CompareTo().Mais je me Fonction de tableau [ par themisnain ] bonjour,Je cherche désespérement une fonction qui suprime les doublon d'un tableau en C#. Je sais qu'elle existe en php, et étant en train d'esseyer d Tableau Gridview [ par Paladin2107 ] Bonjour à tous,Je vous énonce mon problème : <p Tableau en parametre de fonction [ par jnc ] Bonjour,J'ai une fonction qui demande un tableau d'entier en parametre :void fct ( int [] tableau){...}Je dois lui passer un seul int.plutot que de fa pointent vers le même objet mais la modification de l'un n'entraine pas la modification de l'autre... [ par mathmax ] Dans un tutorial, j'ai le programme suivant : void Main(</F Allocation mémoire [ par sephiro ] Je débute en C# et je travaille surtout en C++En C# pas besoin de libérer la mémoire OK, mais si je passe en parametre à une fonction un pointeur sur Comment faire un tableau en C# [ par mydust ] Bonjour,J'aimerai faire un tableau d'integer en C#.net avec Visual Studio.Pour l'instant il est ainsi: int[,] nextpixel=new <FONT c fonction d'affichage ASP > c# [ par zeb13 ] Vous allez trouver ma question con mais je n'ai pas trouvé une seule réponse à comment implémenter à partir du code behind par exemple un tableau préd tableau et foreach [ par yogui411 ] Bonjour,Je sais faire un foreach en utilisant un tableau.Mais je sais pas faire avec un tableau à 2 dimensions. Je voudrais faire un foreach sur une d


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.