papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Mélanger les éléments d’un tableau trié Mar 21 Mai 2019 - 19:01 | |
| Mélanger les éléments d’un tableau trié ou comment générer un tableau dont les éléments sont tous différents - Code:
-
rem ============================================================================ rem Shuffle.bas rem Mélanger les éléments d’un tableau trié rem ou comment générer un tableau dont les éléments sont tous différents rem ============================================================================ dim i,n n = 26 dim t(n),a$(n) alpha 1 : top 1,10 : left 1,50 : font_bold 1 : font_size 1,14 caption 1,"Démonstration de la procédure SHUFFLE" for i = 1 to n : t(i) = i : next i : ' Création du tableau numérique trié for i = 1 to n : a$(i) = chr$(64+i) : next i : ' Création du tableau alphabétique trié ' Déclarer les listes pour visualiser les résultats list 10 : top 10,50 : left 10,010 : height 10,380 : font_bold 10 list 20 : top 20,50 : left 20,150 : height 20,380 : font_bold 20 list 30 : top 30,50 : left 30,290 : height 30,380 : font_bold 30 list 40 : top 40,50 : left 40,430 : height 40,380 : font_bold 40 ' Afficher les listes triées item_add 10,"Eléments triés" : item_add 10,"" for i = 1 to n : item_add 10,t(i) : next i item_add 30,"Eléments triés" : item_add 30,"" for i = 1 to n : item_add 30,a$(i) : next i ' Mélanger et afficher Shuffle_Numeric() item_add 20,"Eléments melangés" : item_add 20,"" for i = 1 to n : item_add 20,t(i) : next i ' Mélanger et afficher Shuffle_Alphanumeric() item_add 40,"Eléments melangés" : item_add 40,"" for i = 1 to n : item_add 40,a$(i) : next i
end rem ============================================================================ ' Mélanger les éléments d'un tableau trié SUB Shuffle_Numeric() dim_local pos,sauve,hasard for pos = n to 1 step -1 hasard = int(rnd(1)*(pos+1)+1) sauve = t(pos) t(pos) = t(hasard) t(hasard) = sauve next pos END_SUB rem ============================================================================ SUB Shuffle_Alphanumeric() dim_local pos,sauve$,hasard for pos = n to 1 step -1 hasard = int(rnd(1)*(pos+1)+1) sauve$ = a$(pos) a$(pos) = a$(hasard) a$(hasard) = sauve$ next pos END_SUB rem ============================================================================
| |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Mélanger les éléments d’un tableau trié Mar 21 Mai 2019 - 20:20 | |
| Très utile Papydall, Cela me rappelle une SUB de Bignono que j'ai modifié pour mon compte. - Code:
-
SUB Liste_Aleatoire(ch1%,ch2%) ' Bignono, modifier JC clear Dlist2% : clear Dlist3% dim_local i% for i% = ch1% to ch2% : item_add Dlist2%,str$(i%) : next i% while count(Dlist2%)>0 i% = int(rnd(count(Dlist2%)))+1 item_add Dlist3%,item_read$(Dlist2%,i%) : item_delete Dlist2%,i% caption 0,"Liste aléatoire: "+str$(count(Dlist3%))+" / "+str$(n2%) end_while END_SUB Mais la tienne ajoute un tri pour les caractères alphanumériques A+
Dernière édition par Jean Claude le Mer 22 Mai 2019 - 8:25, édité 1 fois | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Mélanger les éléments d’un tableau trié Mar 21 Mai 2019 - 20:28 | |
| Astucieux tout ça ! A rajouter à ma boite à outils Panoramic. D'ailleurs c'est plus vraiment une boite, c'est plutôt une armoire avec tout ce qu'elle contient... | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Mélanger les éléments d’un tableau trié Mer 22 Mai 2019 - 16:10 | |
| Ça peut servir à mélanger un jeu de cartes, par exemple ou à faire travailler ses neurones pour trouver l’une des solutions à ce genre d’exercice. Mais puisque vous apprécier mon truc-astuce-artifice-machin-chose ça ne peut me faire que du bien. - Minibug a écrit:
- A rajouter à ma boite à outils Panoramic.
D'ailleurs c'est plus vraiment une boite, c'est plutôt une armoire avec tout ce qu'elle contient...
Penses-tu un jour ou l'autre nous la faire montrer cette caverne d'Ali Baba (euh, partager son contenu) ? | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Mélanger les éléments d’un tableau trié Mer 22 Mai 2019 - 17:00 | |
| Bonjour Papydall ! Et bien en fait il s'agit de tout ce qui passe sur le site et que j’essaie de conserver... J'avoue que je ne garde pas tout dans son intégralité. Je conserve surtout les astuces et les choses qui sortent de l'ordinaire. | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Mélanger les éléments d’un tableau trié Jeu 23 Mai 2019 - 22:43 | |
| Bonsoir à tous ! Merci Papydall ! Même si j'aime bien que tout soit bien rangé et trié, j'apprécie quand même ton code "chamboule tout" ! Merci du partage et bonne continuation ! | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Mélanger les éléments d’un tableau trié Jeu 23 Mai 2019 - 23:58 | |
| Il y a beaucoup de situations où le désordre est cherché au lieu que tout soit bien rangé et trié. En vérité, le désordre est aussi un ordre ! | |
|
Contenu sponsorisé
| Sujet: Re: Mélanger les éléments d’un tableau trié | |
| |
|