Posté le 26/08/2020 12:53
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 73 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 26/08/2020 13:01 | #
https://www.planet-casio.com/Fr/forums/topic15832-1-tdm-11-ranint-pour-les-nuls.html
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 26/08/2020 13:04 | #
Merci je vais jeter un coup d'oeil
Ajouté le 26/08/2020 à 13:10 :
Est t'il possible de mettre des nombres aléatoire dans une matrice en utilisant la même technique que pour les liste ?
-Archimède
Citer : Posté le 26/08/2020 13:18 | #
Je ne sais pas. Je ne pense pas pour les matrices, mais par contre tu peux très bien faire deux boucles for permettant de se situer dans la matrice et de générer un nombre aléatoire dans la cellule.
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 26/08/2020 14:14 | #
Salut, c'est possible en créant une matrice et en ajoutant les listes générées. Voici un code créant une matrice de 15x10 contenant des nombres aléatoires compris entre 0 et 4 inclus, version lisible :
List→Mat(List 1)→Mat A
For 1→A To 9
RanInt#(0, 4, 15)→List 1
Augment(Mat A, List→Mat(List 1))→Mat A
Next
Même code optimisé en taille :
List→Mat(1→Mat A
For 1→A To 9
RanInt#(0,4,15→List1
Augment(Mat A,List→Mat(1→Mat A
Next
Bon courage
Citer : Posté le 26/08/2020 14:57 | #
Merci @Tituya et @Kikoodx j'espere que j'arriverai à me servir correctement de vos idées
Ajouté le 26/08/2020 à 15:05 :
Bon, tout compte fait, je vais surtout me servir de l'astuce de Kikookx parce que... Je n'ai pas compris celle de Tituya (désolé... )
Et encore un problème de résolu
-Archimède
Citer : Posté le 26/08/2020 15:23 | #
Si tu veux j'ai même une astuce pour générer rapidement une liste aléatoire de nombre SANS répétition
Citer : Posté le 26/08/2020 15:24 | #
D'accord je veut bien mais, attention faut pas qu'elle soit trop compliquée sinon je vais rien comprendre mdr
-Archimède
Citer : Posté le 26/08/2020 15:42 | #
Tu as trois listes, une avec les nombres que tu souhaites mélanger L1, une autre qui va servir de "testeur" (on l'appellera T) et une dernière ta liste finale L2 avec les nombres mélangés. Avec la fonction random, tu sélectionnes un rang au hasard de L1, tu vérifies que le nombre correspondant n'est pas dans T, si ce n'est pas le cas tu recommences, sinon le nombre va dans L2 et dans T pour éviter de le reprendre à nouveau.
Le problème, comment tester sans passer chaque rang en revu ?
Tout se base sur la fonction rangeAppoint qui est pour faire simple un la fonction qui te dira si oui ou non le nombre sélectionner est correcte.
Niveau code ça donne ça (exemple de la génération d'une liste aléatoire de 100 nombres sans répétition) :
"r"→z
While z≠"EXPR"
rand(1,100)→a
rangeAppoint(T,a,a)→z
GetType z,z
WhileEnd
a→T[i]
L1[a]→L2[i]
Next
Citer : Posté le 26/08/2020 15:44 | #
Merci @Hashby, j'étudierais ta technique dès que possible
-Archimède
Citer : Posté le 26/08/2020 15:45 | #
La fonction rangeAppoint() ne fait pas partie du panel Basic non-Classpad, malheureusement. D'ailleurs il y a des algos plus efficaces pour sortir une permutation aléatoire
Citer : Posté le 26/08/2020 15:47 | #
Je pensais que rangeAppoint y serait, my bad...