NextBytes et Max/Min Value [Résolu]

Signaler
Messages postés
5
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
4 juin 2012
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
-
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.

3 réponses

Messages postés
26
Date d'inscription
mardi 1 février 2011
Statut
Membre
Dernière intervention
2 mai 2013

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();
Messages postés
5
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
4 juin 2012
1
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 :) .
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
43
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é. -