Demande de conseil avec java

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. 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
    1. 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
      1. 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
        1. 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
          1. 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
            1. Euh ouai explique aussi à quoi sert ton code et quels sont les objets utilisés. (table, adjascence ???? ...)
              0
              1. 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
                1. Montre nous ton code si tu veux qu'on t'aide ;-)
                  0