Probleme: transferer les éléments d'une liste dans une matrice

Messages postés
9
Date d'inscription
vendredi 6 janvier 2017
Dernière intervention
17 janvier 2017
-
Bonjour

Svp j'ai un probleme lors du transfert de mes elements de la liste dans une matrice appelée: tableau, proposez moi des solutions Svp.
int index=0;
               for(Character val : liste){
                        if(j<5){
                         tableau[i][j]=liste.get(index);
                         j++;
                                      }
                        else{i++;
                         if(j<5){
                          tableau[i][j]=val;
                             j++;
                         }

}

for(i=0;i<tableau.length;i++){
                       for(j=0;j<tableau[i].length;j++){

System.out.print(tableau[i][j]+"|");
                       }
Afficher la suite 

Votre réponse

1 réponse

Messages postés
15867
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Bonjour,

Un exemple :

int a=3, b=4;
char[][] matrix = new char[a][b];

for (int i=0, n=Math.min(a*b, list.length); i<n; i++)
    matrix[i/b][i%b] = list.get(i);
ouided123
Messages postés
9
Date d'inscription
vendredi 6 janvier 2017
Dernière intervention
17 janvier 2017
-
Merci pour la reponse KX, mais je m'excuse je n'ais pas compris ce que vous avez fais dans la boucle For!!!!
si vous pouvez me donnez un peu d'explications,
Merci
KX
Messages postés
15867
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
J'ai fait comme ton
tableau[i][j]=val;
sauf qu'au lieu de gérer deux index i et j, je n'en utilise qu'un, celui de la liste.get(i).

Ensuite je place l'élément dans la matrice, à la ligne i/b (c'est à dire 0,0,0,0, 1,1,1,1, 2,2,2,2...) et à la colonne i%b (0,1,2,3, 0,1,2,3, 0,1,2,3...)

Pour que cela fonctionne il faut cependant s'assurer que l'on n'ai pas un i trop grand par rapport à la taille de la matrice. On prend donc la plus petite valeur entre a*b et list.length
ouided123
Messages postés
9
Date d'inscription
vendredi 6 janvier 2017
Dernière intervention
17 janvier 2017
> KX
Messages postés
15867
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Ok, c'est clair maintenant, merci beaucoup
Commenter la réponse de KX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.