NextBytes et Max/Min Value

Résolu
cs_benmiles Messages postés 5 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 4 juin 2012 - 4 juin 2012 à 19:49
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 5 juin 2012 à 11:28
Bonjour,

Voilà, je n'ai pas trouvé ou ce sujet serait le plus approprié donc je le poste dans "autre" désolé si ca cause de la gène.
Enfin mon problème le voici, et j'ai eut beau regarder sur le net il y a un peu tout mais pas le mix que je veux faire (si il est possible):

Je voudrais générer donc un tableau rempli d'entiers aléatoires (NextBytes) mais que ceux si soit seulement situés par exemple entre 1 et 10 inclus (Max/MinValue). Mon petit soucis c'est que je n'arrive pas à faire mon petit mixe des deux, donc à moins que je n'utilise pas la bonne méthode pouvez vous me dire comment je fais ? Voici mon code pas modifié que j'aimerai justement améliorer :


static void Main(string[] args)
        {
            Random b = new Random(); 
            Byte[] tableau = new Byte[4];  
           b.NextBytes(tableau);  
            Console.WriteLine("Les chiffres aléatoires sont : ");
            for (int i = 0; i < tableau.Length; i++)
            {
                Console.WriteLine(tableau[i]);
            }
       }


Merci de votre aide.
A voir également:

3 réponses

fmounir Messages postés 26 Date d'inscription mardi 1 février 2011 Statut Membre Dernière intervention 2 mai 2013
4 juin 2012 à 20:47
Bonjour,
J’espère que ça répond à ton problème :

Random b = new Random();
int[] tableau = new int[4];
for (int i = 0; i < tableau.Length; i++)
{
tableau[i] = b.Next(1, 10);
}
Console.WriteLine("Les chiffres aléatoires sont : ");
for (int i = 0; i < tableau.Length; i++)
{
Console.WriteLine(tableau[i]);
}
Console.ReadKey();
3
cs_benmiles Messages postés 5 Date d'inscription mercredi 23 mai 2012 Statut Membre Dernière intervention 4 juin 2012 1
4 juin 2012 à 21:11
Oh Yeah Merci ! C'est niquel tout ce que je voulais ^^. Je me suis trompé je n'avais donc pas besoin de Nextbytes mais de Next :) .
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
5 juin 2012 à 11:28
Salut,

b.Next(1, 11);

En effet, la méthode Next(a, b) renvoie un nombre compris entre a inclus et b EXCLUS. C'est d'ailleurs précisé dans le tooltip de la méthode. Donc si tu veux entre 1 et 10 inclus, il faut générer un nombre entre 1 inclus et 11 exclus.

En revanche, ce n'est pas parce que la méthode NextBytes() n'est pas celle qu'il te faut que tu dois changer le type de ton tableau pour autant. Ça veut juste dire qu'il faut faire un cast du retour de la méthode Next().

Random b = new Random();
byte[] tableau = new byte[4];
for (int i = 0; i < tableau.Length; i++)
{
    tableau[i] = (byte)b.Next(1, 11);
}
Console.WriteLine("Les chiffres aléatoires sont : ");
for (int i = 0; i < tableau.Length; i++)
{
    Console.WriteLine(tableau[i]);
}
Console.ReadKey();


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
Rejoignez-nous