Affichage d'une matrice

sky88 Messages postés 66 Statut Membre -  
sky88 Messages postés 66 Statut Membre -
Bonjour,
j'ai créé la matrice suivante
int cpt=0;
int mat = new int [som] [som];
for (int k=0; k<som; k++) { mat[k] [k] =0;}
for (int m=0; m<som; m++)
{
for (int m1=m+1; m1<som; m1++)
{
int q1 = (int) Math.random()*2;
Math.floor(q1);
if (q1==1)
{
cpt++;
if (cpt == n) { m<som; m1=som;}
}
mat[m][m1] =q1;
mat[m1][m] = q1;
}
}

dans ce code j'ai créé une matrice carrée somXsom jai initialisé la diagonale à 0
la matrice est chargée aléatoirement, elle ne doit contenir que des 1 et des 0 mais le nombre de 1 est limité à n

est ce que le code est juste en plus je veux afficher la matrice dans un JPanel comment je peux le faire merci à vs

j'attends vos réponses

merci

3 réponses

sky88 Messages postés 66 Statut Membre 5
 
où etes vous personne ne peut m'aider?????????????????,
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
Déjà pour optimiser les chances d'avoir une réponse, précise le langage utiliser entre crochet au début du titre.
Là, je suppose que c'est du C++ (le Math.random tend à me dire que c'est pas du C) ou du java (à cause du Math.floor et du JPanel : J comme java)
quelques remarque, le Math.floor(q1) me semble inutile, car tu déclare q1 comme un entier.
dans l'instruction "if (cpt == n) { m<som; m1=som;} " m<som ne sert à RIEN. de plus mettre m1=som te créra une erreur de segmentation lors de la ligne suivante "mat[m][m1] =q1;".
Il est vrai que pour sortir d'une double boucle le break n'est pas suffisant. mais comme ici tu met bien m1 à som, utilise le break, tu ira à la fin du bloc et ainsi tu sortira de la boucle. donc "if (cpt == n) { m1=som;break;} "
dernière chose, lorsque tu fait :
mat[m][m1] =q1;
mat[m1][m] = q1;
tu met deux "1" dans ta matrice, mais n'en compte qu'un.

Pour l'affichage, aucune idée.
0
sky88 Messages postés 66 Statut Membre 5
 
merci
0