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

  • Votes
  • Date
  • Date décroissante
  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;
    }
    1. Euh ouai explique aussi à quoi sert ton code et quels sont les objets utilisés. (table, adjascence ???? ...)
      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; }
        }
        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.
          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
            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
              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!