IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

[Algo] Affichage tableau 2 dimensions


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut [Algo] Affichage tableau 2 dimensions
    Bonjour,

    j'aimerai savoir quelle est la solution la plus optimale pour afficher le contenu d'un tableau à deux dimensions.

    en effet je cherche à afficher le contenu d'un tableau de 81 cases

    pour l'instant j'utilise deux boucle for

    exemple de tableau de type 3*3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    int[][] tab = new int[3][3];
     
    		tab[0][0] = 1;
    		tab[1][0] = 1;
    		tab[2][0] = 1;
     
    		tab[0][1] = 2;
    		tab[1][1] = 2;
    		tab[2][1] = 2;
     
    		tab[0][2] = 3;
    		tab[1][2] = 3;
    		tab[2][2] = 3;
     
    		for(int y = 0; y <= 2; y++){
    		    for(int x = 0 ; x <= 2; x++ ){
    		        //affichage coordonnées x;y
    		        System.out.println(tab[y][x]+"x ;"+y+"y");
    		    }
    		}
    résultat:

    1x ;0y
    2x ;0y
    3x ;0y
    1x ;1y
    2x ;1y
    3x ;1y
    1x ;2y
    2x ;2y
    3x ;2y
    je cherche vraiment à optimiser mes traitements, y'a t-il un meilleur moyen de réaliser ce genre d'affichage ?


    merci beaucoup
    Dernière modification par Invité(e) ; 27/11/2008 à 12h19.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Pour les 2 boucles for() je ne peux pas faire grand chose.

    Pour la mise en page, tu peux afficher ton tableau ligne par ligne, avec des tabulations pour chaque colonne:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(int y=0;y<tab.length;y++) {
    	for(int x=0;x<tab[y].length;x++) 
    		System.out.print(tab[y][x]+"\t");
    	System.out.println();
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    merci beaucoup,

    en faite ce que j'aimerai savoir, c'est s'il existe une méthode pour parcourir le tableau de façon plus optimale ?

    est ce que la boucle for est la meilleur solution pour ce type de parcours récursif ?

    merci

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Déjà c'est un parcours itératif et pas récursif. Et je ne pense pas qu'on puisse faire mieux qu'une boucle for() pour les parcours itératifs.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Déjà c'est un parcours itératif et pas récursif.
    je fais souvent l'erreur !

    Citation Envoyé par pseudocode Voir le message
    je ne pense pas qu'on puisse faire mieux qu'une boucle for() pour les parcours itératifs.
    ok merci pour l'information

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
          tab(0,0) = 1;
          tab(1,0) = 1;
          tab(2,0) = 1;
    C
          tab(0,1) = 2;
          tab(1,1) = 2;
          tab(2,1) = 2;
    C
          tab(0,2) = 3;
          tab(1,2) = 3;
          tab(2,2) = 3;
    C
          do j=0,2
            write (*,'(3I5)') (tab(i,j),i=0,2)
          end do
    Jean-Marc Blanc

Discussions similaires

  1. [1.x] probleme affichage tableau deux dimension
    Par megaloplex dans le forum Symfony
    Réponses: 9
    Dernier message: 11/04/2010, 11h23
  2. Parcourir et affichage d'un tableau à 2 dimensions
    Par Jcpan dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2009, 08h55
  3. [Tableaux] Affichage d'un tableau 2 dimensions
    Par Seb981 dans le forum Langage
    Réponses: 9
    Dernier message: 07/09/2007, 14h54
  4. [Flash8]affichage tableau a 2 dimensions
    Par synolis dans le forum Flash
    Réponses: 5
    Dernier message: 24/05/2007, 10h37
  5. Affichage d'un tableau à deux dimensions.
    Par Allan dans le forum C
    Réponses: 3
    Dernier message: 11/12/2005, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo