Tableau sans repitition

Résolu
gigi00 Messages postés 23 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 26 juin 2010 - 2 févr. 2008 à 16:40
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 16 févr. 2008 à 18:04
bonjour
j ai besoin d' aide pour faire fonctioner se programme
dans ce programme je veux réaliser un tableau de [9][9] et qui rempli aleatoirement les cases sans repitition des nombres au niveau des colonnes et des lignes :

public class upo {
    public static void main(String[] args) {
     int i,n=0,m=0, j;
     int [][]tab;
    tab=new int[3][3];
    for(i=0;i<=2;i++)
    {   for(j=0;j<=2;j++)
       {
      tab[i][j]=(int)(Math.random()*(9)+1);       
  if(j>m)
 {
    if (tab[i][j]==tab[i][m])
   tab[i][j]=(int)(Math.random()*(9)+1);
 }
    if(i>n)
    {
     if (tab[i][j]==tab[n][j])
   tab[i][j]=(int)(Math.random()*(9)+1);  
    }
     for(j=0;j<=2;j++)
    {   for(i=0;i<=2;i++)
       {
      tab[i][j]=(int)(Math.random()*(9)+1);
    if(i>n)
    {
     if (tab[i][j]==tab[n][j])
   tab[i][j]=(int)(Math.random()*(9)+1);  
    }
    if(j>m)
    {
     if (tab[i][j]==tab[i][m])
     tab[i][j]=(int)(Math.random()*(9)+1);  
    }
    System.out.print(" \t"+tab[i][j]); 
    }
     System.out.print("\n");
    }
     }
    }}}  
  quelqu'un peut m'aider pour resoudre ce probleme
merci

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 févr. 2008 à 18:04
Salut,

Si tu ne suis pas nos conseils tu risque pas trouver de solutions... va voir les sources de sodoku existantes sur le site, car ton algo m'a l'air identique !
______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 févr. 2008 à 17:15
Salut,

Voir toutes les sources parlant de sudoku...
______________________________________
DarK Sidious
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
4 févr. 2008 à 13:10
Tu peux adapter le code suivant en java pour distribuer les valeurs, puis ensuite une boucle pour copier les valeurs du tableau résultant dans ton tableau à toi.
0
gigi00 Messages postés 23 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 26 juin 2010
11 févr. 2008 à 18:14
bonjour  j ai un problem d affichage dans ce programme
public class hh {
   
    public static void main(String[] args) {
     int i=0,k=0,m=0;
     int [][]t;
     t=new int[9][9];
        int j;
     t[i][k]=(int)(Math.random()*(9)+1); 
      
        { while (i<=8)
       {t[i][k]=(int)(Math.random()*(9)+1);
        
        j=0;
        while(j<i )
        { if(t[i][k]==t[j][m])
        {i--;
        j=i;
        }j++;
        }i++;}
         System.out.print(" \n");
    }
       for(i=0;i<=8;i++)
    System.out.print(" \t"+t[i][k]);
     { while (i<=8)
       {t[i][k]=(int)(Math.random()*(9)+1);
        
        m=0;
        while(m<k )
        { j=0;
         if(t[i][k]==t[j][m])
        {k--;
        m=k;
        }m++;
        }k++;}
         System.out.print(" \n");
    }
       for(k=0;k<=8;k++)
    System.out.print(" \t"+t[i][k]);
   
    }
}
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gigi00 Messages postés 23 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 26 juin 2010
16 févr. 2008 à 17:30
bonjour 
je veux faire un tableau sans repitition au niveau des colonnes

public class colone {
   
    
    public static void main(String[] args) {
    int[][]te = new int[9][9];
   int i,j=0;
for ( i = 0; i <9;i++) {
  
   { te[i][j] =i + j;
   }
   
}
for(i=0;i<9;i++)
{for(j=0;j<9;j++)
{int tmp;
 int k=(int)(Math.random()*(10)+1);
 tmp= te[i][j];
te[i][j]=te[k/9][k%9];
te[k/9][k%9]=tmp;
}
}for(j=0;j<9;j++)
{for(i=0;i<9;i++)
{int tmp;
 int k=(int)(Math.random()*(9)+1);
 tmp= te[i][j];
te[i][j]=te[k/9][k%9];
te[k/9][k%9]=tmp;
}
}
for( i=0;i<9;i++)
{for(j=0;j<9;j++)
{System.out.print(te[i][j]+"\t");
}
System.out.println();
}


}
    }merci
0
Rejoignez-nous