Forum Programmation.c auto-complétement en C ou Java

Posté par  .
Étiquettes : aucune
0
20
jan.
2006
Bonsoir,

Je voudrais avoir la possibilité dans mon programme - un ptit editeur en mode console - qui lorsque je souhaite invoquer une commande, celui-ci active un mode auto-complètement. (affinage du choix, ordre alphabétique et plus loin support de la casse...)
Comment procéderiez vous? quel algo de trie? sans utiliser readline de préférence. Un ptit exemple en C/Java svp ou alors expliquez tout simplement le principe si vous le pouvez.

Ce n'est qu'un ptit projet d'apprentissage, je débute.
J'ai besoin d'une piste, peu gourmande...

merci

ps: si il y a une class Java toute prête, ça serait sympa de me la présenter, mais j'aimerais avant tout connaître le processus.
  • # projet a l'ecole ?

    Posté par  (site web personnel) . Évalué à 1.

    tu sais comment marche un repertoire papier ?

    tu as des pages blanches reparti en 26 groupes ( mais pas tous ), et tu ecris une information en dernier dans le groupe de page correspondant a la premiere lettre de l'information que tu souhaites ecrire.

    si tu as un doute va dans une papeterie en acheter un et fait un essai.

    maintenant que tu as un indice gros comme un airbus A380, ne peux tu pas lire ton cours et des livres ?

    il n'y a pas que Moorcock, Pratchett, Hojo, Buronson, et Star Treck ( je suis vilain ), il y a aussi Knuth, Rivest, Corman, Codd, Date, Aho, ...
    • [^] # Re: projet perso

      Posté par  . Évalué à 3.

      Après t'être bien marrer en m'ayant pris pour un neuneu, perso, j'fais de la prog en mega dilettante.
      Pour info: je suis qu'architecte de formation.

      C'est un algo de tri que j'éspèrais, vu qu'il y en a pas mal, je voulais connaître celui qui sied le mieux à la situation, j'vous demandais pas de m'expliquer ce qu'était un index.


      Ne peux tu pas lire ton cours et des livres ?


      J'avais juste envie d'une réponse rapide, et rien n'obligeait personne de répondre et encore moins d'faire le malin.
      Ce qui me fait peur, c'est que t'as été "plussé" au moins 3x pour te foutre de moi en somme.

      Les péteux d'LinuxFr qui citent Darwin, Conway ou Nietzsche, j'en ai un ptit peu ma claque!

      Moi j'vais te citer Demi Moore dans le super navet "GI Jane":
      (qui passe sur TPS)
      "Suck my dick!" <-- Quel beau suicide

      À bon entendeur...
      • [^] # Re: projet perso

        Posté par  . Évalué à 4.

        Si tu as eu cette réponse, c'est parce qu'il n'y a pas de solution toute faite à ton problème et que tu ne poses pas les bonnes questions. Ta dernière question laissait d'ailleurs à penser que tu n'avais aucune envie de faire un effort pour trouver une solution par toi-même et que tu comptais uniquement sur les autres pour avancer.

        La programmation, ça n'est pas (encore) un assemblage de briques toutes faites. C'est de l'analyse, de la réflexion, de la recherche et des tests. Si tu n'as pas cet esprit de découverte et de recherche, tu avanceras très lentement voire pas du tout.

        Maintenant, pour donner une réponse constructive à ta question, visiblement, ce que tu cherches à faire est soit l'équivalent de la complétion dans bash, soit l'équivalent de la prédiction T9 sur les téléphones mobiles. Dans le premier cas, tu peux étudier les sources de bash, mais si tu débutes en programmation ça risque d'être un peu trop compliqué pour un début. Pour le second cas, tu peux étudier cette application : http://koti.mbnet.fi/korsu/ft.html

        L'autre option est d'analyser précisément tes besoins et de les découper en tâches plus simples. Te poser la question de l'algorithme de tri maintenant n'a aucun intérêt. Même chose pour readline. Ca ne sert à rien de choisir des outils avant d'avoir évalué le problème à résoudre.

        Si tu veux plus d'aide, précise davantage tes besoins, en présentant par exemple un cas d'utilisation pas-à-pas, ie. je tape sur telle touche, je veux qu'il se passe ça, etc.
        • [^] # Re: projet perso

          Posté par  (site web personnel) . Évalué à 5.

          Juste pour lui simplifié la vie: lire les sources de bash pour voir
          comment il gere l'autocompletion serait une perte de temps,
          celle-ci se fait via readline justement.
      • [^] # Re: projet perso

        Posté par  (site web personnel) . Évalué à 1.

        si tu n'es pas etudiant, ta formulation me chiffonne un peu.

        à mon corp défendant, si un mec arrive sur un forum d'architecture et demande comment faire un plan d'une maison parce que c'est un projet d'apprentissage, le mauvaise formulation menera à je ne vais pas faire ton boulot a ta place pour que tu fasse apres des baraques qui s'effondre trop vite. mais les derniers mots restent les memes : la reponses se trouvent dans des livres.

        parlons maintenant des livres :

        - "introduction à l'algorithmique" de rivest-cormen-leiserson presente 5 tris differents dans la section II du livre ( environs 50 pages ), puis présente differentes structures auto triées dans la suite.

        - "introduction aux algorithmes paralleles" de leighton commence par 30 pages sur les tris sur des architectures paralleles.

        - "the art of computer programming" de Knuth propose 756 pages sur les tris et et la recherche dans des structures triées.

        - "zen de la programmation graphique" de Abrash dispose d'un chapitre explicitement sur l'usage du tri pour eliminer les surfaces cachés.

        je t'epargne le gardarin et le Date sur les bases de donnees respectivement de 800 et 1000 pages chacun.

        puisque tu parle d'un projet d'apprentissage, apprends en lisant au moins le cormen-riven.

        et l'ensentiel des informations valables quand tu programmes, viendront bien souvent de ces livres.

        beaucoup trop de monde se permet de se croire capable de faire mieux que ce qui existe deja ...
        ... etrangement, http://goog-sparsehash.sourceforge.net/ ce projet d'une petite boite que personne ne connait tellement ils sont nul avec leurs logiciels lents et buggé, dit plusieurs fois a peu de chose pres : "j'ai lu le knut de 756 pages et j'ai reimplementé ce qu'il dit" .
        • [^] # Re: projet perso

          Posté par  . Évalué à 2.

          Personnellement, je ne vois pas l'intérêt d'investir dans la lecture de livres spécialisés sur les algorithmes pour faire un petit projet de programmation. Au mieux, consulter Wikipedia permettra d'avoir un aperçu des différentes possibilités¹, il sera temps après d'approfondir si le besoin se fait sentir.

          Concernant le tri, il n'y a aucun intérêt à évaluer plusieurs algorithmes tant que la vitesse d'exécution n'est pas un critère fondamental. Il suffit d'utiliser les fonctions proposées par les librairies standards des langages que tu veux utiliser (qsort et bsearch² pour le C, les fonctions sort et binarySearch³ pour Java).

          ¹ http://fr.wikipedia.org/wiki/Algorithme_de_tri
          ² http://www.linux-kheops.com/doc/lgazette/issue-39/lg39-fr-10(...)
          ³ http://java.sun.com/docs/books/tutorial/collections/algorith(...)
          • [^] # Re: projet perso

            Posté par  (site web personnel) . Évalué à 2.

            d'ou mon conseil pour "l'introduction a l'algo" de rivest-cormen qui fourni les bases en algo :)

            par contre, un minimum d'algorithmique est necessaire : j'ai deja vu des personnes me coder des algo de tri qu'ils pensaient super performant et qui etait au mieux en n^2 et au pire en n^3 ... donc c'est pas trop mal de savoir qu'il existe des tris adapté selon les besoins.

            ce bouquin "introduction a l'algo" n'est qu'une introduction pour pouvoir se debrouiller un minimum, cela ne remplacera jamais la lecture des Knuth par exemple.

            savoir lire et comprendre a peu pres un roman sans connaitre les regles de grammaire, ne donne pas la possibilité d'ecrire un roman tout au plus on peut ecrire une carte postale et une lettre de reclamation assez basique.

            savoir lire et comprendre a peu pres du code sans connaitre l'algorithmique, ne donne pas la possibilité d'ecrire du code, a la rigueur ecrire un script shell tres basique ou un hello world .

            beaucoup trop de personnes qui ont le niveau "redaction de CE2" en programmation se prennent pour des Stendhal, Proust, Moliere & consort du code ... pourtant il ne savent que faire des redactions tres basique.
            • [^] # Re: projet perso

              Posté par  . Évalué à 1.

              Merci des réponses ainsi que celles de Moun's même si il est un peu trop "carré" dans sa manière de pensé :) (boutade amicale).

              Je comprend que certains aient-pu prendre ma demande comme une "commande", mais ça n'était pas le cas, c'était juste pour gagner un peu de temps. C'est peut-être son côté "trivial" qui vous fait penser cela.
              Sinon je ne vois pas ce qui a de chiffonnant pour un architecte*, infographiste à côté, de s'essayer à la prog, pour espèrer créer ses ptits outils...

              Merci pour les liens Frédéric, et merci pour les réferences Moun's

              bye

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.