NextBytes et Max/Min Value [Résolu]

Messages postés
5
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
4 juin 2012
- - Dernière réponse : krimog
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
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.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
26
Date d'inscription
mardi 1 février 2011
Statut
Membre
Dernière intervention
2 mai 2013
3
Merci
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();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de fmounir
Messages postés
5
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
4 juin 2012
1
0
Merci
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 :) .
Commenter la réponse de cs_benmiles
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
22
0
Merci
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é. -
Commenter la réponse de krimog