Matrice en tableau

Fermé
KENZA15A - 29 déc. 2013 à 15:27
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 - 30 déc. 2013 à 16:35
Bonjour,



je veut trier une matrice (tableau a 2 dimenssions) du max au min pour ce la je doit la transformer en un tableau simple et le trier
svp veuillez m'aider
exemple de la matrice
0 15 20
15 0 60
20 30 0

2 réponses

generak002 Messages postés 3 Date d'inscription dimanche 16 mai 2010 Statut Membre Dernière intervention 29 décembre 2013 2
29 déc. 2013 à 22:37
Salut KENZA15A,

Voici la solution si j'ai bien compris ton problème :

Integer[][] matrice = new Integer[3][3]; 

matrice[0][0]=0;
matrice[0][1]=15;
matrice[0][2]=20;

matrice[1][0]=15;
matrice[1][1]=0;
matrice[1][2]=60;

matrice[2][0]=20;
matrice[2][1]=30;
matrice[2][2]=0;

Integer[] tab=new Integer[9];
int j=0;

//Copier le tableau 2d dans un tableau 1d
for (Integer[] is : matrice)
{
for (int i : is)
{
tab[j]=i;
j++;
}
}
//Trie le tableau 1d
Arrays.sort(tab);
//Inverse
Collections.reverse(Arrays.asList(tab));

//Affichage
for (Integer i : tab)
{
System.out.println("tab : "+i);
}
2
mrc bcp generak002 pour votre aide
j'ai juste un petit pbm avec l'instruction
Collections.reverse(Arrays.asList(tab)); elle genere une exception
cette etape n'est q'un intermédiaire psk en effet je veut extraire les indices des n plus grands element de la matrice en eleminant bien sur les repetitions psk vous voyez que le diagonale est a 0 c une matrice de distance euclidienne
nb:j'ai dit "n "psk la dimenssion de la matrice n'est pas fixe j'utilise tjrs un scanner pr l'identifier
en tt cas merci pr l'idée je v chercher comment faire pr le cas generale
matrice[n][n]
0
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
Modifié par irmeche le 30/12/2013 à 16:44
tu peux donner la trace de l'exception ?
le code de generak002 doit fonctionner correctement .

de tizi ?
0