Problem matrice java

Résolu
Beeeen -  
 derman -
Bonsoir ,

je veux bien , afficher une matrice a l inverse (seulement les lignes) mais je n'arrive pas !

j ai ecrit cette methode mais elle l'affiche a lordre normal !!

public String toString() { 
String ch ="";
for (int i=0; i<length; i++) {
for(int j = 0; j < wide; j++) {
     ch += board[i][j]+"\t"; 
}
  ch+="\n"; 
}
return ch;
}


Exemple : Matrice =

1 1 1 1
1 1 1 1
9 9 9 9

je veux qu elle soi affcicher de cettee maniere :

9 9 9 9
1 1 1 1
1 1 1 1

Merci !!!

4 réponses

  1. MikaelaOups Messages postés 29 Statut Membre 2
     
    Bonsoir,

    tu pourras appliquée la transposée d'une matrice deux fois sur la matrice que t'as crée

    Sachant que tu pourras crée une méthode en Java pour faire la transposée d'une matrice voila le code de la transposée d'une matrice en java:

    public Matrix transpose() {
    Matrix A = new Matrix(N, M);
    for (int i = 0; i < M; i++)
    for (int j = 0; j < N; j++)
    A.data[j][i] = this.data[i][j];
    return A;
    }

    et dans le Main tu utilise appliques la méthode sur ta matrice.Bon tu pourras adapté ce code selon ton propre code

    bonne chance
    1
  2. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
     
    au lieu d'écrire les lignes de la 1ère à la 3ème, que devrais-tu faire ?
    0
    1. Beeeen
       
      J ai une matrice quelconque , un exemple :
      0 0 0 0
      1 1 1 1
      2 2 2 2
      9 9 9 9

      je veux obtenir un affichage de la sorte :

      9 9 9 9
      2 2 2 2
      1 1 1 1
      0 0 0 0
      0
    2. derman
       
      Bonjour !! j'aimerais savoir Comment permuter les diagonales d'une matrice en java??
      0
  3. danimo
     
    Salut,

    Tu commences par la fin:

    for (int i=0; i<length; i++) { devient

    for (int i=length -1; i>0; i--) {

    Même principe pour j

    Cordialement,

    Dan
    0
    1. Beeeen
       
      public String toString() { 
      String ch ="";
      for (int i=length-1 ; i<0; i--) { 
      for (int j = wide-1 ; j<0; j--) { 
      ch += board[i][j]+"\t"; 
      }
       ch+="\n"; 
      }
      return ch;
      }
      


      ca ne marche pas !! rien ne s affiche !
      0
    2. danimo
       
      Attention, si l'ordre est quelconque, il n'est bien entendu pas question d'obtenir le résultat en ordre décroissant, mais l'affichage du résultat se fera dans l'ordre inverse de la liste initiale...
      0
    3. Beeeen
       
      ce n est pas question de tri qui doi etre croissant ou decroissant , c est juste au moment de laffichage , on affiche la derniere ligne jusqu q arriver la premiere !


      J ai une matrice quelconque , un exemple :
      L1 : 1 2 3 4
      L2 : 9 9 2 3
      L3 : 1 5 0 0
      L4 : 2 2 2 2

      je veux l afficher :

      L4 : 2 2 2 2
      L3 : 1 5 0 0
      L2 : 9 9 2 3
      L1 :1 2 3 4

      mais quand je decremente j obtiens rien.
      0
    4. danimo
       
      Tu n'a sans doute pas vu que j'ai modifié for (int i=length -1; i<0; i--) {
      en for (int i=length -1; i>0; i--) {

      C'est quoi wide ?
      0
    5. Beeeen
       
      Merci , ca marche :))
      0
  4. hanen
     
    j'ai un pb comment l'utilisateur remplir un tableau de valeur numerique
    et ensuite on va faire des calcule sur ce tableau
    0
    1. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
       
      salut hanen, ton message ne concerne pas le même problème que le sujet.

      Ouvres-en un nouveau stp merci.
      0