Affichage d'une matrice
sky88
Messages postés
66
Statut
Membre
-
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
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
A voir également:
- Affichage d'une matrice
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Affichage ips processeur graphique ✓ - Forum Matériel & Système
3 réponses
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.
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.