Faire une recherche dans un tableau

muntu -  
chuka Messages postés 980 Statut Membre -
Bonjour,

Je suis nouveau en programmation, est ce que quelqu'un veut bien m'aider à améliorer mon code ? Je dois remplir un tableau aléatoirement avec un random mais sans doublon.

Donc si le nombre se trouve déjà dans mon tableau je l'enregistre pas et j'enregistre seulement ceux qui ne se trouve pas encore dans mon tableau.

je génère un nombre, je regarde s'il n'est pas, puis je l'enregistre, seulement je n'y arrive pas vraiment car j'ai tjrs des doublons:

voici mon code :

for(int i=0; i<tab.length; i++)

{
for(int j=0; j<tab.length; j++)

{

Random r = new Random();
int valeur = 2 + r.nextInt(16);

for(int k=0; k<tab.length; k++)

{

for(int l=0; l<tab.length; l++)

{

if(tab[k][l]==valeur) {

count++;

}

}
}

if(count<=0){

tab[i][j]=valeur;} }}
A voir également:

1 réponse

chuka Messages postés 980 Statut Membre 378
 
Salut,
c'est en Java?
si oui, tu peux t'inspirer de cela...
static final int nb_col=20,nb_ligne=3;
    public static void main(String[] args) {


        int [][] tab=new int[nb_col][nb_ligne];
        for(int i=0; i<nb_col; i++)
        {
            int valeur;
            for (int j=0;j<nb_ligne;j++)
            {
                do{
                    Random r = new Random();
                    valeur = 2 + r.nextInt(64);
                }while(IsEqual(tab,valeur));
                tab[i][j]=valeur;
            }

        }
    }
    static private boolean IsEqual(int[][] tab,int val)
    {
        boolean IsEqual=false;
        for (int i=0;i<nb_col;i++)
        {
            for (int j=0;j<nb_ligne;j++)
            {
                if (tab[i][j]==val){
                    IsEqual=true;
                    break;
                }
            }
            if (IsEqual)
                break;
        }
        return IsEqual;
    }

je pense que la fonction IsEqual doit exister mais j'ai pas trop cherché!!;)
@+
0