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

Java Discussion :

Aide tri alphabétique Processing


Sujet :

Java

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 10
    Par défaut Aide tri alphabétique Processing
    Bonjour à tous,

    Je ne savais pas trop où poster ce topic, donc processing étant en quelque sorte du java simplifié, je le poste ici... désolé s'il ne fallait pas...

    Vous avez sûrement dû le lire dans le titre du sujet, je suis bien embêté

    Voilà, le but du programme que je souhaiterai faire est le suivant: ouvrir un fichier texte contenant plusieurs mots différents, puis trier ces mots par ordre alphabétique et les afficher dans cet ordre...

    J'ai à peu près trouver comment lire le ficher texte (et donc l'afficher^^) mais je ne trouve pas comment classer par ordre alphabétique ! Si jamais vous avez des pistes et exemples afin que je comprenne, ce serait top

    En espérant que vous puissiez m'aider, merci par avance ! (je vous mets le début de mon code ci-dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String[] contenu_texte; // Tableau contenant les différentes lignes du fichier à lire
     
    void setup() {
     
      contenu_texte = loadStrings("Mon_texte.txt"); // Lecture du fichier texte
        println(contenu_texte); // Afficher le contenu du fichier texte
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 156
    Par défaut
    Je n'ai pas la moindre idée de ce que peut bien être le langage Processing et donc des librairies qu'il offre. En Java ça se ferait en 3 lignes : tu colles toutes tes chaines dans une List et tu invoques Collections.sort(). Peut-être que ton langage offre quelque chose de similaire.

    Si tu dois implémenter l'algo à la main je suppose qu'il te faut lire toutes les chaines et les mettre dans un tableau puis appliquer un algo de tri genre tri à bulles pour trier ton tableau par ordre alphabétique et ensuite le réécrire dans le fichier.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 10
    Par défaut
    Citation Envoyé par neuromencien Voir le message
    Je n'ai pas la moindre idée de ce que peut bien être le langage Processing et donc des librairies qu'il offre. En Java ça se ferait en 3 lignes : tu colles toutes tes chaines dans une List et tu invoques Collections.sort(). Peut-être que ton langage offre quelque chose de similaire.

    Si tu dois implémenter l'algo à la main je suppose qu'il te faut lire toutes les chaines et les mettre dans un tableau puis appliquer un algo de tri genre tri à bulles pour trier ton tableau par ordre alphabétique et ensuite le réécrire dans le fichier.
    Merci pour votre réponse

    Je débute en programmation (processing étant du java simplifié mais avec -il me semble- la plupart voire toutes les librairies java) et ne codant pas en java, je ne saurai visualiser ce que vous venez d'énnoncer
    Est-il possible que vous écriviez ce dont vous parliez à propos de Collections.sort() et des 3 lignes en question ?

    Merci beaucoup de votre temps passé à me répondre,
    Cordialement

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu n'es pas obligé de passer par une collection : tu peux trier directement ton tableau avec Arrays.sort() (classe java.util.Arrays).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String[] contenu_texte; // Tableau contenant les différentes lignes du fichier à lire
     
    void setup() {
     
      contenu_texte = loadStrings("Mon_texte.txt"); // Lecture du fichier texte
     
       Arrays.sort(contenu_text); // trier dans l'ordre naturel
     
      println(contenu_texte); // Afficher le contenu du fichier texte
    }
    Ceci ne trie pas exactement dans l'ordre "alphabétique", puisque des chaînes ne contiennent pas nécessairement que des caractères alphabétiques (comme des nombres par exemple ou les accents). Tu peux éventuellement faire : Arrays.sort(contenu_texte,Collator.getInstance()).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 10
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Tu n'es pas obligé de passer par une collection : tu peux trier directement ton tableau avec Arrays.sort() (classe java.util.Arrays).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String[] contenu_texte; // Tableau contenant les différentes lignes du fichier à lire
     
    void setup() {
     
      contenu_texte = loadStrings("Mon_texte.txt"); // Lecture du fichier texte
     
       Arrays.sort(contenu_text); // trier dans l'ordre naturel
     
      println(contenu_texte); // Afficher le contenu du fichier texte
    }
    Ceci ne trie pas exactement dans l'ordre "alphabétique", puisque des chaînes ne contiennent pas nécessairement que des caractères alphabétiques (comme des nombres par exemple ou les accents). Tu peux éventuellement faire : Arrays.sort(contenu_texte,Collator.getInstance()).
    Merci pour votre réponse

    J'ai essayé comme vous me montriez et en recherchant dans la documentation processing, j'ai trouvé la méthode sort(), certainement similaire à celle dont Neuromencien me parlait pour java.
    J'ai alors essayé de reprendre votre programme et de le modifier un peu pour qu'il reste quand même personnel, du moins en partie

    Voici le code que j'ai finalement et il est fonctionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void setup(){
     
    String[] contenu_texte = loadStrings("Mon_texte.txt"); // On appelle le fichier texte que l'on insère dans String[], la stockant dans la variable contenu_texte
      println(contenu_texte); // On affiche le contenu du fichier texte 
     
    contenu_texte = sort(contenu_texte); // On utilise la fonction sort() afin de classer par ordre alphabétique les mots de notre fichier texte 
      println(contenu_texte); // On affiche à nouveau les mots de notre fichier texte, mais cette fois dans l'ordre alphabétique
     
    }
    Merci beaucoup à vous qui vous êtes penchés sur mon petit problème,
    Sincèrement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tri alphabétique sur plusieurs champs
    Par lamoufle dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/12/2005, 04h26
  2. [VB.NET]Aide sur les process
    Par Dnx dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/10/2005, 15h13
  3. [VC++6][MFC]Tri alphabétique dans CEdit
    Par ben_popcorn dans le forum MFC
    Réponses: 5
    Dernier message: 03/10/2005, 09h39
  4. [JTable] tri alphabétique
    Par clairette dans le forum Composants
    Réponses: 1
    Dernier message: 27/07/2005, 11h09
  5. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38

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