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