IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

[Débutant] Random


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 90
    Points : 65
    Points
    65
    Par défaut [Débutant] Random
    Bonjour à tous

    je veut remplir une matrice 6x6 aléatoirement avec Random() de 1..6,mais
    sans reptation : entre chaque 6 valeur chaque nombre apparaître une seul fois


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     Random R = new Random (); 
     
     
    	int [][] mat =new int [6][6];
     
    	for (int i=0;i<=5;i++){
    		for (int j=0;j<=5;j++){
    	int r= 1+R.nextInt(6);
        mat[i][j] = r;
    	}
    	}
    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    Bonjour,

    une solution parmis tant d'autres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Random R = new Random (); 
     
            ArrayList<Integer> liste = new ArrayList<Integer>();
    	int [][] mat =new int [6][6];
     
    	for (int i=0;i<=5;i++){
    		for (int j=0;j<=5;j++){
                          do {
                                int r= 1+R.nextInt(6);
                          }
                          while(!liste.contains(r));
                          mat[i][j] = r;
                          list.add(r);
    	       }
    	}

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 90
    Points : 65
    Points
    65
    Par défaut
    Merci ludomacho votre Soutien mais pour eviter la boucle infini il falait de rendre la liste vide aprés chaque 6 itérations

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Random R = new Random (); 
     
            ArrayList<Integer> liste = new ArrayList<Integer>();
    	int [][] mat =new int [6][6];
     
    	for (int i=0;i<=5;i++){
    		for (int j=0;j<=5;j++){
                          do {
                                int r= 1+R.nextInt(6);
                          }
                          while(!liste.contains(r));
                          mat[i][j] = r;
                          list.add(r);
    	       }
    liste.clear();
    	}

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    bonjour

    oui j'ai fait une petite erreur dans le while il fallait lire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while(liste.contains(r));
    par contre ton code ne dois pas fonctionner car en reinitialisant liste à chaque ligne il se peut qu'il y ait des doublons sur des lignes differentes.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 90
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par ludomacho Voir le message
    bonjour

    oui j'ai fait une petite erreur dans le while il fallait lire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while(liste.contains(r));
    par contre ton code ne dois pas fonctionner car en reinitialisant liste à chaque ligne il se peut qu'il y ait des doublons sur des lignes differentes.
    oui je sais car ma matrice de 6x6 elle est remplit par des valeur entre 1..6 alors la redondance entre des lignes différent est obligatoire

    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] lambda, random
    Par oodini dans le forum Général Python
    Réponses: 6
    Dernier message: 06/09/2011, 07h38
  2. Réponses: 9
    Dernier message: 09/01/2010, 04h52
  3. [Débutant] Paramètres de la fonction random
    Par elliotg dans le forum Langage
    Réponses: 5
    Dernier message: 01/11/2008, 20h19
  4. [TPW][Débutant] Randomize et random
    Par dimi2 dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 23/04/2008, 14h59
  5. [Débutant] Random : se baser sur l'horloge interne
    Par nanath02 dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2007, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo