Demande de conseil avec java

sky88 Messages postés 66 Statut Membre -  
 ray_fab -
Bonjour,
bonjour tout le monde

est ce que vous pouver me proposer une idée comment créer une matrice binaire qui contient un nombre fixe de 1 je vais moi meme la developper
j'ai fait une mais le probleme ce qu'elle m'a donné une boucle infinie

merci
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. Utilisateur anonyme
     
    Montre nous ton code si tu veux qu'on t'aide ;-)
    0
  2. sky88 Messages postés 66 Statut Membre 5
     
    la matrice adjascence est initialisée à 0
    while (stop ==false)
    {
    for (int m=0; m<=som-1; m++)
    {

    for (int m1=m+1; m1<som; m1++)
    {

    if (adjascence[m][m1]==0)
    {
    Random q1 = new Random();
    a= q1.nextInt(2);
    if (a==1)
    {
    cpt++;

    table.setValueAt(a, m, m1);
    table.setValueAt(a, m1, m);
    }

    }
    }
    }
    if (cpt==nba){stop=true;
    }
    0
  3. Utilisateur anonyme
     
    Euh ouai explique aussi à quoi sert ton code et quels sont les objets utilisés. (table, adjascence ???? ...)
    0
  4. sky88 Messages postés 66 Statut Membre 5
     
    ce que je veux faire c'est créer une matrice binaire qui contient un nombre fixe de 1(nba)

    ce que j'ai utilisé
    adjascence =new int [som][som];
    et je vais recuperer la matrice dans la table (table)
    la matrice est initialisée à 0 et la JTable (table) contient dans la diagonale que des 0;

    while (stop ==false)
    {
    for (int m=0; m<=som-1; m++)
    {

    for (int m1=m+1; m1<som; m1++)
    {

    if (adjascence[m][m1]==0)
    {
    Random q1 = new Random();
    a= q1.nextInt(2);
    if (a==1)
    {
    cpt++;

    adjascence[m][m1]=a;
    adjascence[m1][m]=a;

    table.setValueAt(a, m, m1);
    table.setValueAt(a, m1, m);
    }

    }
    }
    }
    if (cpt==nba){stop=true; }
    }
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    En fait je ne comprends pas vraiment l'intérêt du while ???

    Un fois que tu as ton nombre de 1 suffisant il suffit de faire un break pour arrêter ta boucle.
    0
  7. sky88 Messages postés 66 Statut Membre 5
     
    comment le faire??
    0
  8. Utilisateur anonyme
     
    Dis moi exactement ce que tu veux faire stp.

    Remplir une matrice avec NB 1 n'importe où ?
    Remplir une matrice avec des 1 sur la diagonale ?

    Je n'arrive pas à comprendre le but de tes boucles alors explique moi en Français ce qu'est censé faire ton programme
    0
  9. sky88 Messages postés 66 Statut Membre 5
     
    ok Mr ce que je veux faire c'est remplir une matrice avec des 1 n'importe où
    le nombre de 1 est fixe
    la diagonale doit contenir des 0
    0
  10. ray_fab
     
    Bonjour,
    j'ai pas lu toute la discussion mais juste ton dernier message et voila comment faire:
    //initialisation de la matrice avec les dimensions de ligne et colonne.
    int mat[][] mat=new int[dimx][dimy];
    //on met tous les autres elements à  sachantque la matrice à la base est remplie de 
    public void initialise(){
         for(int i=0;i<dimx;i++){
             for(int j=0;j<dimy;j++)if(i!=j)mat[i][j]=1;
         }
         return;
    }  
    
    Bon Courage!
    
    0