Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Mettre en ordre alphabétique | |
| | Auteur | Message |
---|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Mettre en ordre alphabétique Lun 12 Avr 2010 - 17:37 | |
| Après avoir si souvent utilisé la facilité du SORT dans les LIST, je m'aperçois que je ne sais même plus mettre dans l'ordre alphabétique de bonnes vieilles variables tableau selon la méthode classique. (la honte !) Il faut dire qu'on n'est pas très aidé en panoramic, parce qu'on n'a pas la particularité que j'avais remarquée dans tous les basics que j'avais utilisés auparavant, c'est à dire le : if a$(i)>a$(i+1) then... ici, ça ne marche pas, ce qui constitue d'ailleurs un manque, enfin je trouve. J'ai fait un essai, (voir code ci-dessous) et pas moyen que ça marche ! Si quelqu'un sait comment faire... - Code:
-
rem ' Tri-alphab-de-mots dim g , i , j , m$(7) , a$ data "Bonjour" , "chien" , "chat" , "passoire" , "Livre" , "analyse" , "mou" for i=1 to 7 : read m$(i) : next i
for j=1 to 6 for i=1 to 6 for g=1 to len(m$(i)) if asc(lower$(mid$(m$(i),g,1)))>asc(lower$(mid$(m$(i+1),g,1))) and mid$(m$(i+1),g,1)<>"" a$=m$(i) : m$(i)=m$(i+1) : m$(i+1)=a$ exit_for end_if next g next i next j
for i=1 to 7 print m$(i) next i | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mettre en ordre alphabétique Lun 12 Avr 2010 - 18:47 | |
| D'accord avec toi, dommage de ne pas pouvoir comparer des chaînes comme en Basic, pour les tris. Je ne vois qu'une solution, mettre ton tableau dans un fichier, faire un SORT du fichier puis le rapatrier dans le tableau. Pas très élégant certes... mais efficace. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 8:08 | |
| Ce que je fais moi, c'est passer les éléments dans un Dlist pour les trier avec SORT et ensuite je les récupère. Mais une question, pourquoi tu veux faire un code pour le tri, alors que SORT fait le boulot en un mot-clé. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 8:39 | |
| Honte à moi ! je n'avais même pas vu qu'il y avait un SORT dans Panoramic...' | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Mar 13 Avr 2010 - 12:35 | |
| Merci, Jean Claude, effectivement, c'est ce que j'ai fait. Mais c'est dommage que je ne sois pas arrivé à faire un sort "manuel", C'est d'ailleurs curieux, parce que théoriquement, la formule que j'ai donnée ci-dessus devrait marcher ! (et ce n'est pas le cas du tout) Je ne comprends pas. (réponse à ta question : le SORT marche pour les objets-système, pas pour les variables-tableau)
Dernière édition par jjn4 le Mar 13 Avr 2010 - 12:39, édité 2 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 12:36 | |
| @JL35 | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Mar 13 Avr 2010 - 12:48 | |
| Eh oui, tu as raison, pôvre JL35, bientôt quadri-centenaire, entre les siestes et la ballade quotidienne (2 tours du massif de fleurs, d'abord dextrogyre, puis lévogyre) (avec le déambulateur, bien sûr) On comprends qu'il commence à perdre des boulons ! PS: au fait, il faudra encore qu'il paye le champagne ! (nombre de messages dépassant le chiffre 1000) Frétillant, quand même encore, pour un presque quadri-centenaire !
Dernière édition par jjn4 le Mar 13 Avr 2010 - 14:52, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 13:49 | |
| Pour jjn4: J'ai essayé ton programme de tri. Il marche parfaitement, avec l'ajout d'une seule ligne. En fait, tu as traité le cas où un caractère est "plus grand" que celui dans la même position du mot suvant, mais tu n'as pas traité le cas où il est plus petit ! Voici la version opérationnelle: - Code:
-
rem ' Tri-alphab-de-mots dim g , i , j , m$(7) , a$ data "Bonjour" , "chien" , "chat" , "passoire" , "Livre" , "analyse" , "mou" for i=1 to 7 : read m$(i) : next i
for j=1 to 6 for i=1 to 6 for g=1 to len(m$(i)) rem ********* ajout de cette ligne ici ! if asc(lower$(mid$(m$(i),g,1)))<asc(lower$(mid$(m$(i+1),g,1))) and mid$(m$(i+1),g,1)<>"" then exit_for if asc(lower$(mid$(m$(i),g,1)))>asc(lower$(mid$(m$(i+1),g,1))) and mid$(m$(i+1),g,1)<>"" a$=m$(i) : m$(i)=m$(i+1) : m$(i+1)=a$ exit_for end_if next g next i next j
for i=1 to 7 print m$(i) next i
| |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Mar 13 Avr 2010 - 15:05 | |
| Fabuleux ! Merci, Klaus. Comme quoi, entre la théorie qu'on conçoit et la pratique qui nous dit si ça marche, il y a toujours une différence. Euh... j'ai remarqué qu'on te voyait beaucoup moins sur le forum, je me demandais si tu boudais. (cogitation saugrenue, bien sûr !) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 15:10 | |
| Heureux d'avoir pu te rendre service.
Non, je ne boudais pas. J'avais un crash de mon système, et, honte suprême, pas de sauvegarde de mes sources... J'ai commencé par récupérer mon site web; maintenant, je suis en train de reconstituer ma DLL ce qui est presque fait. Puis, un peu de vacances autour de Pâques - ça fait du bien !
Mais je suis à nouveau présent je je suis lr forum attentivement ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 17:35 | |
| Alors Klauss, on ne fait pas de sauvegarde ? Vu ton niveau en programmation c'est impardonnable.... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Mettre en ordre alphabétique Mar 13 Avr 2010 - 18:50 | |
| Eh oui, tu as raison ! Comme je l'ai dit: la honte suprême. J'avais une sauvegarde globale, mais plus ancienne que mes activités autour de Panoramic, donc inutilisable pour cet aspect. J'au eu un crash disque subit, sans que je me sois rendu compte de signes avant-coureur.
Mais, j'ai quasiment tout récupéré: pour Panoramic, tout y est, et la DLL est en cours de finition (et d'agrandissement par ajout d'un nouveau module, mais ça, c'est pour plus tard...).
J'en ai tiré la leçon, néanmoins, et je saugegarde l'essentiel sur 3 sites de stockage en ligne, maintenant. Même si un des sites disparaît...
Allez, assez bavardé, et à la soupe maintenant ! | |
| | | Contenu sponsorisé
| Sujet: Re: Mettre en ordre alphabétique | |
| |
| | | | Mettre en ordre alphabétique | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |